【发布时间】:2016-03-13 17:50:03
【问题描述】:
这个问题来自我的previous question 关于同一主题。简单的文件上传,嗯,简单。
$headers = array("Authorization: Bearer dropbox_token",
'Content-Type: application/octet-stream',
'Dropbox-API-Arg: {"path":"/path/file.ext",
"mode":"add"}');
$data = "I love Stackoverflow";
$ch = curl_init('https://content.dropboxapi.com/2/files/upload/');
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
但是,当要保存的文件数据达到 10 兆字节时,这不是一个可行的选择。我以为我会简单地使用新的(ish)PHP curl_file_create。
$headers = array("Authorization: Bearer Dropbox token",
'Content-Type: application/octet-stream',
'Dropbox-API-Arg: {"path":"/path/bigfile.txt",
"mode":"add"}');
$ch = curl_init('https://content.dropboxapi.com/2/files/upload/');
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
$args['file'] = curl_file_create('/path/to/bigfile.txt');
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$args);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
但是,这不起作用。 Dropbox API 返回消息
调用 API 函数“files/upload”时出错:HTTP“Content-Type”标头错误:“application/octet-stream;boundary=--... 应为“application/octet-stream”之一,“文本/纯文本; charset=dropbox-cors-hack
如果有人能告诉我我可能在哪里出错,我将不胜感激。
【问题讨论】:
-
@arkascha - 一个完全没有意义的评论,对当前的讨论没有任何价值
标签: php curl dropbox-api