[英]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.