天蓝色图像 blob 提示下载选项
azure image blob is prompting download option
好吧,我有人知道如何在 azure 上使用 php 在容器中上传 blob,但是即使我使用像 https://my.blob.url.net/my_image_folder/my_image_name.jpg
这样的普通 url 查看图像,浏览器也会提示下载图像,而不是查看图像,就像在浏览器上查看普通图像一样,这是我在上传时使用的代码
<?php
require_once __DIR__.'/vendor/autoload.php';
use WindowsAzure\Common\ServicesBuilder;
$connectionString = 'DefaultEndpointsProtocol=http;AccountName=account_name;AccountKey=my_key_value';
$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);
$content = fopen('folder/image.jpg','r');
$blob_name = 'image_name.jpg';
try
{
$blobRestProxy->createBlockBlob("container_name", $blob_name, $content);
}
catch(ServiceException $e)
{
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";
}
此代码运行良好,但在访问 url 时提示下载选项,这意味着我无法使用 img
html 标签
您必须将 blob 的内容类型设置为适当的 mime 类型。以下是 C# 中的一个片段,展示了如何完成此操作:
entryData.DestinationBlob.Properties.ContentType = "image/jpeg";
entryData.DestinationBlob.SetProperties();
我们需要通过 Blob 选项设置它的 属性 内容类型 class。
PHP :
namespace - use MicrosoftAzure\Storage\Blob\Models\CreateBlobOptions;
//use code where you are creating blob
$opts = new CreateBlobOptions();
//$opts->setCacheControl('test');
$opts->setContentEncoding('UTF-8');
$opts->setContentLanguage('en-us');
//$opts->setContentLength(512);
$opts->setContentMD5(null);
$opts->setContentType($mimeType);
$blobRestProxy->createBlockBlob($containerName, $indexFile, $content,$opts);
$mimeType 是您文件的类型 text/html,text/pdf。它将在 git 中工作。
包: "microsoft/windowsazure":“^0.5”
好吧,我有人知道如何在 azure 上使用 php 在容器中上传 blob,但是即使我使用像 https://my.blob.url.net/my_image_folder/my_image_name.jpg
这样的普通 url 查看图像,浏览器也会提示下载图像,而不是查看图像,就像在浏览器上查看普通图像一样,这是我在上传时使用的代码
<?php
require_once __DIR__.'/vendor/autoload.php';
use WindowsAzure\Common\ServicesBuilder;
$connectionString = 'DefaultEndpointsProtocol=http;AccountName=account_name;AccountKey=my_key_value';
$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);
$content = fopen('folder/image.jpg','r');
$blob_name = 'image_name.jpg';
try
{
$blobRestProxy->createBlockBlob("container_name", $blob_name, $content);
}
catch(ServiceException $e)
{
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";
}
此代码运行良好,但在访问 url 时提示下载选项,这意味着我无法使用 img
html 标签
您必须将 blob 的内容类型设置为适当的 mime 类型。以下是 C# 中的一个片段,展示了如何完成此操作:
entryData.DestinationBlob.Properties.ContentType = "image/jpeg";
entryData.DestinationBlob.SetProperties();
我们需要通过 Blob 选项设置它的 属性 内容类型 class。
PHP :
namespace - use MicrosoftAzure\Storage\Blob\Models\CreateBlobOptions;
//use code where you are creating blob
$opts = new CreateBlobOptions();
//$opts->setCacheControl('test');
$opts->setContentEncoding('UTF-8');
$opts->setContentLanguage('en-us');
//$opts->setContentLength(512);
$opts->setContentMD5(null);
$opts->setContentType($mimeType);
$blobRestProxy->createBlockBlob($containerName, $indexFile, $content,$opts);
$mimeType 是您文件的类型 text/html,text/pdf。它将在 git 中工作。
包: "microsoft/windowsazure":“^0.5”