Image 为什么升级到Chrome 76后,从公共S3存储桶加载的图像不再显示?
我正在开发一个react应用程序,它从一个公共s3存储桶加载图像,这已经持续工作了几个月。今天我升级到google chrome 76,它没有加载图像,而是返回一个空白。 在许多机器上也看到了同样的效果 有趣的是,对图像的请求返回200,但没有显示图像。如果我手动访问S3URL链接,则图像可见 我想知道这是否与新版chrome中引入的新安全措施有关 下面是我们针对图像请求的内容安全策略的一个片段Image 为什么升级到Chrome 76后,从公共S3存储桶加载的图像不再显示?,image,google-chrome,amazon-s3,request,Image,Google Chrome,Amazon S3,Request,我正在开发一个react应用程序,它从一个公共s3存储桶加载图像,这已经持续工作了几个月。今天我升级到google chrome 76,它没有加载图像,而是返回一个空白。 在许多机器上也看到了同样的效果 有趣的是,对图像的请求返回200,但没有显示图像。如果我手动访问S3URL链接,则图像可见 我想知道这是否与新版chrome中引入的新安全措施有关 下面是我们针对图像请求的内容安全策略的一个片段 <meta http-equiv="Content-Security-Policy"
<meta
http-equiv="Content-Security-Policy"
content="img-src * 'self' blob: data:;"
/>
我能做些什么来重新加载这些图像吗?我已经找到了问题的根源,似乎这是一个CORB问题。在新的v76版本中必须稍微更新 发生的事情是,当我们将图像上传到S3时,我们没有在上传请求中显式设置
内容类型
标题。S3随后错误地将内容类型导出为应用程序/x-www-form-urlencoded
。因此,当我们试图获取图像并将其加载到img
标签中时,Chrome认为这是无效的(可以理解),然后阻止了它们
有趣的是,到目前为止,这些图片一直以错误的内容类型加载,直到我开始上传新图片,我才看到任何CORB警告
堆栈溢出文章有助于:
希望这有帮助