jpegをbase64にエンコードされたバイト配列で受け取ったPHPスクリプトがあります。私は紺碧に送る正しいヘッダーオプションは何か分かりませんし、デコードして、結果を有効なjpgファイルに書き込むように伝えます。文字列をファイルに書き込むのではなく、現時点で正しく動作します。 私はいくつかのコンテンツタイプを試しました。 (image/jpeg)。生のバイト配列データを送信する。何もない。 Azureはファイルを書きますが、正しくはjpegとして書きません。デコレートbase64文字列を紺色のストレージにjpegとして
$contentType = "text/plain; charset=UTF-8";
$curl = curl_init($base_url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: '.$contentType,
'Content-Encoding : BASE64',
'x-ms-version: 2014-02-14',
'x-ms-date: '.$currentTime,
'x-ms-blob-type: BlockBlob',
'x-ms-blob-content-type: '.$contentType,
'Authorization: SharedKey zzzzzstorage:'.$signature
));
curl_setopt($curl, CURLOPT_POSTFIELDS, $encodedImage);
$response = curl_exec($curl);
はあなたのファイルを受け取るプログラムは、この変換を行うためにコード化されていることを確認していますか?または適切なjpg – RiggsFolly
https://msdn.microsoft.com/en-us/library/azure/dd179451.aspxが送信されることを期待しています。 php sdksと.netとjs、そしてjpgに文字列を書き込むことを許可するuploadBlobFromTextのようなメソッドを持つ多くのライブラリがあります。しかし、私はこれでPHP SDKを使用することはできません。私は、apiがbase64文字列のデコードを実行するためのヘッダーの適切な組み合わせを探しています。 – nvasilescu
私はAPIがあなたのこの変換を行うと信じられるようにそのドキュメントの中に何も見ません。なぜあなたはそれをやっていないのですか?実際に.jpg '$ the_jpg = base64_decode($ encodedImage);' – RiggsFolly