javascript - Azure 存储 Javascript 库“createBlobServiceWithSas”引发错误:拒绝设置不安全的标头“用户代理”
问题描述
使用 Azure 存储 JS 客户端库上传图像会引发错误:“拒绝设置不安全的标头“用户代理””
网络选项卡中的所有请求都是 200 或 201,看起来 xhr 请求正在工作。是否可以在 post call 之前不设置此标头或将其过滤掉?我想在控制台中避免这个错误。 https://github.com/Azure/azure-storage-node#azure-storage-javascript-client-library-for-browsers
解决方案
已经测试了您提到的链接中的示例azurestoragejs-2.9.100-preview
,它不会导致我这边出现错误(Chrome 和 Firefox)。
打开azure-storage.blob.js
lib 文件,搜索变量var unsafeHeaders
并检查是否user-agent
在其列表中。我在我身边看到了它,并在删除它后重现了您的问题。所以它可能在您的文件中丢失。
如果你的库没有损坏,你可以忽略这个“错误”,因为没有任何问题,而且它都是由存储库和浏览器实现的。
解释:
当 http 请求执行时,此库中的方法将确保unsafeHeaders
列表中的标头不会由xhr
. 如果没有,浏览器会抛出如您所见的警告,因为这是xhr 标准的要求。
请参阅此库中的注释。
此检查不是必需的,但它可以防止浏览器发出有关设置不安全标头的警告。老实说,我不完全确定隐藏这些警告是一件好事,但 http-browserify 做到了,所以我也会这样做。
Everyting 确实对您有用,可能已经证明支票是not necessary
. 同样在xhr 标准中,user-agent
不再是一个不安全的标头,但浏览器没有赶上。
推荐阅读
- unity3d - 移动设备不支持 WebGL 构建错误,即使它不是移动设备
- r - QQ 情节 - 将一个情节分成 2 组
- powershell - 比较两个 CSV 文件并输出现有的等式
- node.js - 伊斯坦布尔/摩卡关于特定领域语言的报告
- winforms - 无法替换旧表单图标
- reactjs - 如何从aws播放视频
- docker - 如何制作 VS-Code Flatpak 来检测 Docker Snap
- sql - 如何在 SQL 的新列中显示每个值
- spring - 带有 Java 弹簧配置文件的 CD
- azure - Azure 管道错误:“找不到 'dotnet' 主机。确保计算机上安装了 'dotnet' 并且在 PATH 环境变量中可用”