azure:使用PHP设置blob内容类型

时间:2013-04-05 09:08:30

标签: php azure blob contenttype

如何在php中使用setBlobProperties来设置ContentType?下面的代码是我通过谷歌找到的,但那个不起作用。视频确实出现在blob存储中,但content-type设置为: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'
));

2 个答案:

答案 0 :(得分:3)

使用新的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 />";
}

答案 1 :(得分:2)

好的,对不起..这段代码确实有用,但我指的是错误的(有两个同名的php页面,并且正在编辑我不使用的那个)。

抱歉!但是现在,有人在将来寻找这个,将会有这个答案:)。