我正在尝试使用以下 PHP 代码将文件上传到 Redmine。
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url)
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/octet-stream',
'X-Redmine-API-Key: ' . $apiKey));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_BINARYTRANSFER, TRUE);
$data = array('file' => '@' . $filePath);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_POST, 1);
$token = curl_exec($curl);
Run Code Online (Sandbox Code Playgroud)
此请求返回有效的上传令牌,但文件在上传过程中已损坏。例如,尝试上传空的 .txt 文件会导致上传的被覆盖的 .txt 文件现在包含以下行。
------------------------------------------dde946a683ac
内容处置:表单数据;名称=“文件”;filename =“/var/www/wp-content/uploads/redmine_uploads/emptyTextFile.txt”内容类型:application/octet-stream
------------------------------------------dde946a683ac--
有什么想法为什么会发生这种情况吗?