Dizine kodlanmış bir bayt dizisi olan bir dizgiyi base64'e alan bir php betiğine sahibim. Azure'a göndermek için doğru başlık seçeneklerinin ne olduğunu bilmiyorum ve bu dosyayı doğru bir şekilde yazdığı dosyaya yazmak yerine, geçerli bir jpg dosyasına kod çözme ve sonucu yazmasını söyleyeyim. Çeşitli içerik türlerini denedim. (Görüntü/JPEG). Ham bayt dizisi verilerini bile gönderir. Hiçbir şey değil. Azure dosyayı yazar ancak bir jpeg olarak doğru şekilde yazmaz.base64 dizgisini masmavi depolama biriminde jpeg olarak çözme
$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);
Dosyanızı alma programı bu dönüşümü yapmak kodlu emin misiniz: Burada
kod parçacığı nedir? Veya uygun bir jpg – RiggsFollyhttps://msdn.microsoft.com/en-us/library/azure/dd179451.aspx gönderilmesini bekliyor. Php sdks ve .net ve js ve uploadBlobFromText gibi bir dizinin jpg'ye yazılmasına izin veren yöntemler içeren birçok kütüphanesi vardır. Ama bunun için php sdk kullanamıyorum. Api'nin base64 dizesinde bir kod çözme gerçekleştirmesini sağlamak için doğru başlık kombinasyonunu arıyorum. – nvasilescu
Bu belgede, API'nin bu dönüşümü gerçekleştireceğine inanmamı sağlayan hiçbir şey göremiyorum. Neden bunu yapmıyorsunuz ve sonra gerçek bir .jpg '$ the_jpg = base64_decode ($ encodedImage) gönderiyorsunuz; – RiggsFolly