私はLaravelとGuzzleHttpを使ってDailyMotionにビデオをアップロードしようとしています。ここに私のコードは次のとおりです。Guzzleを使ってDailyMotionにビデオをアップロードする
$file = "3.mp4";
$fields["file"] = fopen($file, 'rb');
$res = $client->post($upload_url, [
'headers' => ['Content-Type' => 'multipart/form-data'],
$fields
]);
$data3 = $res->getBody();
$response_upload_video = json_decode($data3,true);
echo "<br>Getting dm upload video response: ";
print_r($response_upload_video);
$upload_url
は、DailyMotionので渡され、動的に生成されたURLです。上記のコードを実行すると、私はいつもこのエラーを取得します:
Production.ERROR: GuzzleHttp\Exception\ClientException:
Client error: POST http://upload-02.sg1.dailymotion.com/upload?uuid=werewkrewrewrwer&seal=pppppppppppppppp `resulted in a 400 Bad Request response:
{"error":"invalid content range","seal":"yyyyyyyyyyyyyyyyyy"} in /home/vagrant/Code/svc-titus/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:111
しかし、下に表示されるように私は、ポストマンを使用して、同じアップロードURLに動画をアップロードすることができます。
私はあなたのコード「を実行しようとした、このエラーを得たproduction.ERROR:Symfonyの\コンポーネント\デバッグ\例外の\ FatalThrowableError:タイプエラー:GuzzleHttp \ Psr7 \ MultipartStream :: addElementの(に渡される引数2)でなければなりません/home/vagrant/Code/svc-titus/vendor/guzzlehttp/psr7/src/MultipartStream.php(70行目)で呼び出された型配列の文字列です。基本的にエラーを返す行は 'contents' = > fopen(base_path($ file)、 'r') – imin
申し訳ありません、私の悪い、それは働いている。どうもありがとう! – imin