我在我的localhost上使用alfreco,我想在存储库中上传文件。我得到以下回复,任何帮助我做错了什么?我在localhost上使用alfresco one share:8080,
这是我要上传文件http://127.0.0.1:8080/share/page/folder-details?nodeRef=workspace://SpacesStore/3d393f1c-f6cc-4821-b455-58506de7787f的存储库nodeID
这是我的代码
$ticket = "TICKET_a5331******************516";
$file = "test.txt";
$postvars = array(
'filename' => $file,
'filedata' => '@'. realpath($file),
// destination = node reference of the Alfresco folder I'd like to use. I used Alfresco Node brower to find it.
'destination' => 'workspace://SpacesStore/5c6c4555-cbe5-414c-8d46-045870f2f3a6',
'uploaddirectory' =>'/',
'description' => 'File example',
'contenttype' => 'cm:content',
'overwrite' => 'true',
);
$curl_request = curl_init();
$url = "http://localhost:8080/alfresco/service/api/upload?alf_ticket=".$ticket;
curl_setopt($curl_request, CURLOPT_URL,$url);
curl_setopt($curl_request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_request, CURLOPT_HEADER, false);
curl_setopt($curl_request, CURLOPT_POST,true);
curl_setopt($curl_request, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl_request, CURLOPT_SSL_VERIFYHOST, FALSE);
//$args = new CurlFile(realpath("test.txt"),"txt");
curl_setopt($curl_request, CURLOPT_POSTFIELDS,$postvars);
$result = curl_exec($curl_request);
//print_r(curl_error($curl_request));
echo "<pre>";
print_r($result);
回应:
{
"status" :
{
"code" : 401,
"name" : "Unauthorized",
"description" : "The request requires HTTP authentication."
},
"message" : "09190030 Authentication failed for Web Script org\/alfresco\/repository\/upload\/upload.post",
"exception" : "",
"callstack" :
[
],
"server" : "Enterprise v5.1.1 (r128754-b138) schema 9,031",
"time" : "Oct 19, 2016 4:58:29 PM"
}
答案 0 :(得分:0)
您只需要在curl中添加服务器端口:
curl_setopt($ curl_request,CURLOPT_PORT,$ _SERVER [&#39; SERVER_PORT&#39;]);