嗨,我有一个问题,当我可以尝试使用PHP 5.4.3上传具有属性和元数据的文件到alfresco 5.2,这是我的代码:
curl_setopt_array($curl, array(
CURLOPT_PORT => "8080",
CURLOPT_INFILESIZE => filesize($lo_document['tmp_name']),
CURLOPT_URL => "http://localhost:8080/alfresco/api/default-/public/alfresco/versions/1/nodes/-root-/children",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $pam['body'],
CURLOPT_HTTPHEADER => array(
"authorization: ".$la_auth['Authorization'],
"accept: application/json",
"content-type: multipart/form-data"
)
));
$ pam ['body']是这样的:
-----------------------60061ddb32c3445516be40d631852702
Content-Disposition: form-data; name="name"
patatas.pdf
-----------------------60061ddb32c3445516be40d631852702
Content-Disposition: form-data; name="nodeType"
mutua:documentoMutualista
-----------------------60061ddb32c3445516be40d631852702
Content-Disposition: form-data; name="filedata"; filename="CS-08940-00227056-1.pdf"
Content-Type: application/pdf
-----------------------60061ddb32c3445516be40d631852702--
这显示了这个错误:
{"error":{"errorKey":"No disk space available","statusCode":409,"briefSummary":"05140331 No disk space available","stackTrace":"For security reasons the stack trace is no longer displayed, but the property is kept for previous versions","descriptionURL":"https://api-explorer.alfresco.com"}}
但是这个错误意味着一个或多个参数错误但我不知道哪个,Server有很多磁盘空间 .
有帮助吗?任何人都使用ApiRest Alfresco 5.2和PHP?
1 回答
我有一个类似的问题,在浏览器环境中使用JavaScript上传文件,其中从露天后端返回状态
409
和errorKeyNo disk space available
,但Postman或CURL中的相同POST
请求没有问题 .解决方案是 not 添加HTTP标头
"content-type: multipart/form-data"
,因为它已经包含multipart/form-data; boundary=---------------------------41184676334
标头,如果没有添加自定义内容类型标头 .Refrences:
Why it workeds in Postman: Postman adds content-type with boundry automatically
multipart/form-data Syntax with boundary Definition