【发布时间】:2013-05-30 14:10:54
【问题描述】:
尝试使用文件夹网格 api 上传文件。有2个步骤。
- 调用配置文件以获取带有 guid 的位置。
- 使用 PUT 上传实际文件。
我能够进行第一次呼叫并获得https://files.foldergrid.com/upload/xxx 类型的位置。然后我尝试使用它作为我的位置上传文件并继续获取
< HTTP/1.1 100 Continue
* Empty reply from server
* Connection #0 to host files.foldergrid.com left intact
* Closing connection #0
来自服务器不确定我缺少什么? 这是我正在使用的代码:
调用提供 api 后,我得到一个存储在其中的 url $url = 'https://files.foldergrid.com/upload/xxx' 我有我要在文件中上传的文件的路径 $file = '文件的某个路径' 然后我调用了以下方法:
public function putFile($file,$url) {
$headers = array(
'fg-eap: false',
'fg-md5:'.md5_file($file),
);
$fh = fopen($file, "rb");
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl,CURLOPT_PUT,true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_INFILE, $fh);
curl_setopt($curl, CURLOPT_INFILESIZE, filesize($file));
curl_setopt( $curl, CURLOPT_VERBOSE, true );
$result = curl_exec($curl);
fclose($fg);
curl_close($curl);
return $result;
}
【问题讨论】: