1

間違った MIME タイプを送信しています。ファイルタイプは「video/mp4」ですが、送信は「application/octet-stream」です。「video/mp4」を送りたい。Curlオプション($file=実パス)

$post = array('videoupload'=>'1','input_1'=>"@$file");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
curl_setopt($ch, CURLOPT_INFILESIZE,(string)filesize($file));
curl_setopt($ch, CURLOPT_INFILE,fopen($file,'r'));

HTTP デバッガー Out

------------------------------94a50e65d9fe Content-Disposition: フォームデータ。名前="動画のアップロード"

1 ------------------------------94a50e65d9fe Content-気質: フォームデータ; 名前="input_1"; filename="1.mp4" Content-Type: アプリケーション/オクテット ストリーム

試してみました

$post = array('videoupload'=>'1','input_1'=>"@$file;type=video/mp4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
curl_setopt($ch, CURLOPT_INFILESIZE,(string)filesize($file));
curl_setopt($ch, CURLOPT_INFILE,fopen($file,'r'));

curl_error 出力:

フォームポスト データの作成に失敗しました

4

1 に答える 1

0

そのように curl_setopt に CURLOPT_HTTPHEADER を追加してみてください

curl_setopt($ch, CURLOPT_HTTPHEADER,array('Content-Type: video/mp4'));
于 2013-03-25T19:31:05.553 に答える