2016-10-19 25 views
0

我在我的本地主機上使用alfreco一個,我想上傳文件在存儲庫中。我得到以下回應,任何幫助我做錯了什麼?我使用的露天一股在localhost:這裏8080, 是倉庫節點ID在這裏我要上傳的文件http://127.0.0.1:8080/share/page/folder-details?nodeRef=workspace://SpacesStore/3d393f1c-f6cc-4821-b455-58506de7787f
這裏是我的代碼如何上傳文件在Alfresco一個存儲庫與PHP捲曲

$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

你只需要在curl中添加服務器端口:

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

+0

謝謝,在添加服務器端口後它工作正常 – Lazyprogrammer

+0

歡迎您 – Tech