【问题标题】:img src to azure blob storage image not working from html tagimg src 到 azure blob 存储图像在 html 标记中不起作用
【发布时间】:2016-07-19 02:05:51
【问题描述】:

我开始使用 Azure blob 存储并上传了一些图像。我还添加了一个自定义域。所以现在如果我使用浏览器并转到http://images.example.com/some/fileName.jpg 我可以看到图像。但是,如果我在 img 标记中使用此网址,如下所示:

<img src="http://images.example.com/some/fileName.jpg" />

图像已损坏。知道为什么吗?

更新

到目前为止,我发现如果我在标签中使用原始链接,它可以正常工作:

<img src="http://example.blob.core.windows.net/images/some/fileName.jpg" />

所以我猜这个问题源于自定义域。 内容类型设置为image/jpg

【问题讨论】:

  • 破了怎么办? 404?您的容器的安全设置是公共 Blob 还是公共容器?
  • @evilSnobu 我检查了它的 200 OK,但由于某种原因,响应内容类型是 text/html。当我复制粘贴 url 并在另一个选项卡中转到它时,内容类型是 image/jpeg。是的,它是公开的。
  • 你能分享图片的实际网址和你的代码吗?
  • 您是否将图像 blob 的 ContentType 设置为“image/jpeg”?
  • @GauravMantri 没有代码,只有这个 img 标签。它是一个公共图像 CDN。我现在更愿意避免分享实际的网址。

标签: azure azure-blob-storage


【解决方案1】:

@ShiranDror,有一个现有的已回答 SO 线程 Getting broken images from blob storage in Azure websites 与您的类似。

此问题可能是由操作延迟引起的。请尝试为 Blob 存储客户端设置操作的开始时间。

对于 C#,将 StartTime 设置为 OperationContext。而对于 Java,使用函数 setClientTimeInMsOperationContext

【讨论】:

  • 我不认为这是正确的答案,因为他说“所以现在如果我使用浏览器并转到 images.example.com/some/fileName.jpg 我可以看到图像。”
  • @ZhaoxingLu-Microsoft 是的,我更新了我的帖子。谢谢。
  • @PeterPan-MSFT 这是一个公共 blob 存储,后面没有代码,只是一个引用图像 cdn url 的 html img 标签。如果直接使用 url 可以正常使用,但是在 img 标签内使用会失败
  • @ShiranDror 你试过timeout url 参数了吗?
【解决方案2】:

好吧,我将其范围缩小到 CNAME 有问题。我最终只是删除了 CNAME 和存储,然后重新创建了它们。现在它起作用了。我不确定到底出了什么问题,但它与通过自定义域访问文件时返回的 MIME 有关。谢谢大家的帮助。

【讨论】:

  • 很高兴知道这一点。
猜你喜欢
  • 2012-12-19
  • 2020-12-09
  • 1970-01-01
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 2020-01-22
  • 1970-01-01
相关资源
最近更新 更多