使用 Windows Tor 浏览器上传图片会破坏 JPG 上传功能。
将 composer media optimization image bytes optimization threshold 设置为一个非常高的值可以解决此问题。这很可能是 Tor 浏览器的问题,但到目前为止,似乎只在 Discourse 中发生,所以我还是在这里发帖,即使只是为了分享这个变通方法。
使用 Windows Tor 浏览器上传图片会破坏 JPG 上传功能。
将 composer media optimization image bytes optimization threshold 设置为一个非常高的值可以解决此问题。这很可能是 Tor 浏览器的问题,但到目前为止,似乎只在 Discourse 中发生,所以我还是在这里发帖,即使只是为了分享这个变通方法。
在我的测试中,Tor 浏览器在此处阻止了此调用:
并显示:
由于未检测到用户输入,因此阻止了 https://try.discourse.org/ 从提取画布数据。
这显然是谎言,因为文件选择器就是用户输入。
这是由我们的故障安全机制检测到的:
调整大小失败:调整大小时图像损坏。回退到原始图像进行编码
这会提示 Discourse 仅重新编码文件,这似乎成功了,但随后在使用多部分上传完成时因 422 而失败……
Tor 浏览器应该阻止画布创建 API,而不是默默地损坏返回值 ![]()
总之,用户可以通过在 about:config 中切换 privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts 来禁用画布操作的静默失败,这将允许用户看到此提示:
我刚刚测试过,这可以修复上传。
太棒了。谢谢你 @falco!!!
根据我的经验,同样的问题也出现在一些网站图标(可能是以 JPG 文件上传的)上。切换 privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts 也能解决这个问题吗?