如何上传文件在Alfresco一个仓库与php curl


How to upload file in Alfresco one repository with php curl

我在本地主机上使用alfreco,我想在存储库中上传文件。我得到以下回应,任何帮助我做错了什么?我在localhost:8080上使用alfresco共享,这里是存储库nodeID,我要上传文件http://127.0.0.1:8080/share/page/folder-details?nodeRef=workspace://SpacesStore/3d393f1c-f6cc-4821-b455-58506de7787f
这是我的代码

$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"
    }

您只需要在curl中添加服务器端口:

curl_setopt ($ curl_request CURLOPT_PORT $ _SERVER [' SERVER_PORT ']);