azure: установка типа содержимого большого двоичного объекта с помощью PHP

Как использовать setBlobProperties в php для установки ContentType? Приведенный ниже код - это то, что я нашел через Google, но он не работает. Видео действительно появляется в хранилище BLOB-объектов, но для типа содержимого установлено значение: application / octet-stream. Также язык не установлен на «nl-BE», но показывает «пустой».

$storageClient->putLargeBlob($_POST['container'], $_POST['filename'], $tempFile);
$storageClient->setBlobProperties($_POST['container'], $_POST['filename'], null, array(
    'x-ms-blob-content-language' => 'nl-BE',
    'x-ms-blob-content-type' => 'video/mp4'
));

person Jeroen    schedule 05.04.2013    source источник


Ответы (2)


Хорошо, извините ... этот код действительно работает, но я имел в виду не тот (имел две страницы php с одинаковым именем и редактировал ту, которую я не использую).

Извините! Но теперь тот, кто ищет это в будущем, получит ответ :).

person Jeroen    schedule 05.04.2013

Используя новый SDK, можно установить тип контента следующим образом (в этом примере я установил тип контента для изображения gif).

$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);
//upload
$blob_name = "image.gif";
$content = fopen("image.gif", "r");

$options = new CreateBlobOptions();
$options->setBlobContentType("image/gif");
try {
    //Upload blob
    $blobRestProxy->createBlockBlob("containername", $blob_name, $content, $options);
    echo "success";
} catch(ServiceException $e){
    $code = $e->getCode();
    $error_message = $e->getMessage();
    echo $code.": ".$error_message."<br />";
}
person Neeraj Dangol    schedule 19.03.2014