我们将一些客户文件上传到 Azure 存储帐户,然后允许从网络应用程序访问它们。
我遇到了一些超过 1 Mb 的文件问题,因为网络浏览器将它们显示为空白方 block ,但它们已正确上传并可以下载。
真正让我困惑的是,响应头都正常,但图像不显示。
响应 header 示例:
- HTTP/1.1 200 正常
- 内容长度:1615694
- 内容类型:image/jpeg
- 内容 MD5:A9QHxxvIeNq42 b/1.0 Microsoft-HTTPAPI/2.0
- x-ms-请求 ID:bc828201-c01e-002d-488c-a57150000000
- x-ms-版本:2009-09-19
- x-ms-lease-status:已解锁
- x-ms-blob-type:BlockBlob
- 访问控制公开 header :x-ms-request-id、服务器、x-ms-版本、内容类型、上次修改时间、ETag、Content-MD5、x-ms-lease-status、x -ms-blob-类型,内容长度,日期,传输编码
- 访问控制允许来源:*
- 日期:2022 年 8 月 1 日星期一 09:54:56 GMT
最佳答案
• 请确保 header 中的以下 HTTP 参数设置如下,以便图像正确显示,而不是像描绘它们的方 block 一样:-
Cross-Origin-Resource-Policy : *
Content-Security-Policy : CSP Level 3
此外,请确保浏览器版本是最新的,并且“阻止第三方 cookie”设置已禁用。您必须转到“设置 --> 隐私和安全 --> 网站设置 --> Cookie 和网站数据 --> 将“阻止第三方 cookie 设为关闭”
• 还请确保您禁用“Flash 和广告拦截器扩展程序”,以便允许来自其他未经身份验证和未经验证来源的图像内容。最后,还请确保您使用的浏览器是最新的并具有必要的安全更新,以便它们支持“内容安全策略”,以减少 CSS 的攻击面(跨站点脚本)攻击。
请参阅以下链接了解更多详情:-
关于Azure blob 图像未在浏览器中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73192015/