将base64字符串解码为azure存储上的jpeg

时间:2016-04-11 20:09:36

标签: php rest azure azure-storage

我有一个php脚本,它接受一个字符串中收到的jpeg,这是一个编码为base64的字节数组。我不知道发送给azure的正确标头选项是什么,并告诉它解码并将结果写入有效的jpg文件,而不是将字符串写入文件,此时它正确执行。 我尝试了几种内容类型。 (图像/ JPEG)。甚至发送原始字节数组数据。没有。 Azure将文件写入但不能正确编写为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);

1 个答案:

答案 0 :(得分:1)

您可以将获取的base64编码图像阵列与base64编码的字符串组合,然后将字符串解码为图像内容,然后通过Azure PHP SDK上传到Azure存储。

以下是代码段:

{{1}}