Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 为什么从blob存储链接时SVG图像不显示?_Html_Azure_Svg_Azure Storage Blobs_Azure Cdn - Fatal编程技术网

Html 为什么从blob存储链接时SVG图像不显示?

Html 为什么从blob存储链接时SVG图像不显示?,html,azure,svg,azure-storage-blobs,azure-cdn,Html,Azure,Svg,Azure Storage Blobs,Azure Cdn,我有一个blazor WASM站点,我正试图直接从blob存储中显示SVG图像。我试过使用 <img src="https://rmssdstorage.blob.core.windows.net/mixandswirlimages/cbf53722-5889-4100-8c2e-30b8500e1a3d.svg" height="300"/> 但这会导致图像链接中断。您可以在服务器上看到此图像:您可以通过单击以下链接下载它: 我也试过使

我有一个blazor WASM站点,我正试图直接从blob存储中显示SVG图像。我试过使用

<img src="https://rmssdstorage.blob.core.windows.net/mixandswirlimages/cbf53722-5889-4100-8c2e-30b8500e1a3d.svg" height="300"/>

但这会导致图像链接中断。您可以在服务器上看到此图像:您可以通过单击以下链接下载它:

我也试过使用

<img src="https://rmssdstorage.blob.core.windows.net/mixandswirlimages/cbf53722-5889-4100-8c2e-30b8500e1a3d.svg" height="300"/>

但这似乎会导致图像下载到您的设备上(但仍不会导致图像显示在页面上)

如果我链接到另一个来源的图像,它会显示:

<img src="https://upload.wikimedia.org/wikipedia/commons/8/8c/Aperiodisk-v%C3%A4xelstorhet.svg" height="300" />


为什么我可以显示来自其他站点的图像,但无法从我的Azure CDN Blob存储中显示它们,即使这些图像可以公开访问?

我怀疑您可能需要设置Blob的内容类型。默认情况下,它是
应用程序/octet流
。请参见

我怀疑您可能需要设置blob的内容类型。默认情况下,它是
应用程序/octet流
。请参见以下步骤:

转到azure门户->您的存储帐户->在左侧刀片中,单击
存储资源管理器(预览)
->然后找到.svg图像->右键单击它并在
Blob属性
页面中选择
属性
->,检查
内容类型
:如果它不是
图像/svg+xml
,请将其设置为
image/svg+xml
,然后单击
Save
按钮

以下是步骤的屏幕截图:


顺便说一下,您也可以使用来完成此操作。

请按照以下步骤操作:

转到azure门户->您的存储帐户->在左侧刀片中,单击
存储资源管理器(预览)
->然后找到.svg图像->右键单击它并在
Blob属性
页面中选择
属性
->,检查
内容类型
:如果它不是
图像/svg+xml
,请将其设置为
image/svg+xml
,然后单击
Save
按钮

以下是步骤的屏幕截图:


顺便说一下,您也可以使用来完成此操作。

谢谢。这确实可以显示图像,现在我知道这是问题所在,我可以在代码中设置此属性:`if(isSVG){buffer=Encoding.UTF8.GetBytes(file);//SVG存储为纯文本。var fileContent=new ByteArrayContent(buffer);fileContent.Headers.ContentType=MediaTypeHeaderValue.Parse(“image/svg+xml”);form.Add(fileContent,“image”,fileName);等待Http.PostAsync(“api/HttpStreamReceiver”,form);}`谢谢。这确实可以显示图像,现在我知道这是问题所在,我可以在代码中设置此属性:`if(isSVG){buffer=Encoding.UTF8.GetBytes(file);//SVG存储为纯文本。var fileContent=new ByteArrayContent(buffer);fileContent.Headers.ContentType=MediaTypeHeaderValue.Parse(“image/svg+xml”);form.Add(fileContent,“image”,fileName);等待Http.PostAsync(“api/HttpStreamReceiver”,form);}`谢谢。这确实是问题所在,现在我知道这是问题所在,我可以在代码中设置此属性:
if(isSVG){buffer=Encoding.UTF8.GetBytes(file);//svg存储为明文。var fileContent=new ByteArrayContent(buffer);fileContent.Headers.ContentType=MediaTypeHeaderValue.Parse(“image/svg+xml”);form.Add(fileContent,“image”,fileName);wait Http.PostAsync(“api/HttpStreamReceiver”,form);}
谢谢。这确实是问题所在,现在我知道这是问题所在,我可以在代码中设置此属性:
if(isSVG){buffer=Encoding.UTF8.GetBytes(file);//SVG以明文形式存储。var fileContent=new ByteArrayContent(buffer);fileContent.Headers.ContentType=MediaTypeHeaderValue.Parse(“image/svg+xml”);form.Add(fileContent,“image”,fileName);等待Http.PostAsync(“api/HttpStreamReceiver”,form);}