簡體   English   中英

如何使用curl php將文件上傳到java服務器(MultipartEntity)

[英]how to upload a file to java server(MultipartEntity) using curl php

我正在開發一個從java使用REST API的Web門戶。 通過使用curl我能夠輕松發送post請求和接收響應,但我無法使用CURL發送文件,它顯示錯誤“ HTTP狀態500 - 可以在部分內找不到Content-Disposition頭 ”:

這是我的代碼:

 $filename  = $_FILES['uploadedfile']['tmp_name'];
 $handle    = fopen($filename, "r");
 $data      = '@'.fread($handle, filesize($filename));
 $dat = base64_encode($data);
 $POST_DATA = array(
   'imageName' => $dat,
     "Id" => "690",
 );
 $boundary = '--myboundary-xxx';
 var_dump($POST_DATA);
 $params = json_encode($POST_DATA);

 $curl = curl_init();
 curl_setopt($curl, CURLOPT_URL, 'http://localhost.com/Project/REST/webservice/saveImage');
 curl_setopt($curl, CURLOPT_HTTPHEADER, array(
 'Content-Type:multipart/form-data; boundary=$boundary; ',  
 'Content-Disposition: attachment; filename:"$filename";',
 'Content-Length: ' . strlen($params) 
 )); 
 curl_setopt($curl, CURLOPT_TIMEOUT, 30);
 curl_setopt($curl, CURLOPT_POST, 1);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($curl, CURLOPT_POSTFIELDS, $params);

 $response = curl_exec($curl);
  var_dump(curl_getinfo($curl));

 curl_close ($curl);
 var_dump($response);
 echo $response;
}

你試過了嗎

curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Content-Type:multipart/form-data; boundary='.$boundary.'; ',
    'Content-Disposition: attachment; filename='.$filename.';',
    'Content-Length: ' . strlen($params)
));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM