MacOS Firefox图片上传错误

我在 MacOS 上的 Firefox 中尝试通过截图/粘贴和图片上传来上传图片,两者都显示图片正在上传:

但随后显示图片上传失败:

(我通过 Chrome 提交此问题并且可以正常工作,在 iOS 上的 DiscourseHub 上也可以正常工作)。

对于 FF 在 MacOS 上可能出现的问题有什么看法?

1 个赞

您使用的是哪个确切版本的 Firefox?cc @martin

您的控制台中是否有任何错误?

(在 Firefox Windows 95.0.2 上无法重现)

1 个赞

Firefox 95.0.2 (64 位)…(在 MacOS 10.14.6 上)

[Uppy] [20:14:42] Failed to upload Screen Shot 2021-12-21 at 3.14.08 PM.png AwsS3/Multipart: Could not read the ETag header. This likely means CORS is not configured correctly on the S3 Bucket. See https://uppy.io/docs/aws-s3-multipart#S3-Bucket-Configuration for instructions. _vendor-0d13dafa62355d23ad44f16cc044a987.js:6349:24
    error _vendor-0d13dafa62355d23ad44f16cc044a987.js:6349
    value _vendor-0d13dafa62355d23ad44f16cc044a987.js:6917
    de _vendor-0d13dafa62355d23ad44f16cc044a987.js:6940
    me _vendor-0d13dafa62355d23ad44f16cc044a987.js:6951
    emit _vendor-0d13dafa62355d23ad44f16cc044a987.js:6311
    emit _vendor-0d13dafa62355d23ad44f16cc044a987.js:6311
    value _vendor-0d13dafa62355d23ad44f16cc044a987.js:6854
    onError _vendor-0d13dafa62355d23ad44f16cc044a987.js:6710
    Z _vendor-0d13dafa62355d23ad44f16cc044a987.js:6799
    z _vendor-0d13dafa62355d23ad44f16cc044a987.js:6770
    (Async: promise callback)
    z _vendor-0d13dafa62355d23ad44f16cc044a987.js:6770
    z _vendor-0d13dafa62355d23ad44f16cc044a987.js:6769
    (Async: promise callback)
    z _vendor-0d13dafa62355d23ad44f16cc044a987.js:6769
    F _vendor-0d13dafa62355d23ad44f16cc044a987.js:6757
    (Async: promise callback)
    F _vendor-0d13dafa62355d23ad44f16cc044a987.js:6755
    value _vendor-0d13dafa62355d23ad44f16cc044a987.js:6749
    a _vendor-0d13dafa62355d23ad44f16cc044a987.js:6716
    m _vendor-0d13dafa62355d23ad44f16cc044a987.js:6138
    value _vendor-0d13dafa62355d23ad44f16cc044a987.js:6132
    value _vendor-0d13dafa62355d23ad44f16cc044a987.js:6716
    value _vendor-0d13dafa62355d23ad44f16cc044a987.js:6709
    n _vendor-0d13dafa62355d23ad44f16cc044a987.js:6725
    value _vendor-0d13dafa62355d23ad44f16cc044a987.js:6724
    e _vendor-0d13dafa62355d23ad44f16cc044a987.js:6963
    m _vendor-0d13dafa62355d23ad44f16cc044a987.js:83
    _invoke _vendor-0d13dafa62355d23ad44f16cc044a987.js:80
    t _vendor-0d13dafa62355d23ad44f16cc044a987.js:83
    r _vendor-0d13dafa62355d23ad44f16cc044a987.js:6802
    s _vendor-0d13dafa62355d23ad44f16cc044a987.js:6804
    (Async: promise callback)
    r _vendor-0d13dafa62355d23ad44f16cc044a987.js:6802
    s _vendor-0d13dafa62355d23ad44f16cc044a987.js:6804
    (Async: promise callback)
    r _vendor-0d13dafa62355d23ad44f16cc044a987.js:6802
    s _vendor-0d13dafa62355d23ad44f16cc044a987.js:6804
    i _vendor-0d13dafa62355d23ad44f16cc044a987.js:6804
    i _vendor-0d13dafa62355d23ad44f16cc044a987.js:6803
    be _vendor-0d13dafa62355d23ad44f16cc044a987.js:6958
    value _vendor-0d13dafa62355d23ad44f16cc044a987.js:6930
    (Async: promise callback)
    value _vendor-0d13dafa62355d23ad44f16cc044a987.js:6926
    scheduledAutoProceed _vendor-0d13dafa62355d23ad44f16cc044a987.js:6948
    (Async: setTimeout handler)
    he _vendor-0d13dafa62355d23ad44f16cc044a987.js:6948
    value _vendor-0d13dafa62355d23ad44f16cc044a987.js:6870
    _addFiles _application-1b8d860fd0cc6e174f8a7abbca67d655.js:5023
    _run _vendor-0d13dafa62355d23ad44f16cc044a987.js:4034
    _join _vendor-0d13dafa62355d23ad44f16cc044a987.js:4033
    join _vendor-0d13dafa62355d23ad44f16cc044a987.js:3999
    f _vendor-0d13dafa62355d23ad44f16cc044a987.js:2870
    bind _vendor-0d13dafa62355d23ad44f16cc044a987.js:2873
    n _application-1b8d860fd0cc6e174f8a7abbca67d655.js:4565
    n _application-1b8d860fd0cc6e174f8a7abbca67d655.js:4565
1 个赞

只是确认一下,这是发生在 Meta 上还是发生在您自己的网站上?

1 个赞

在 Meta 上,我还没有查看我的。

2 个赞

我明白了,也许我们缺少某个 CORS 规则,而这个规则不知何故只在 Firefox 上触发了?

您是否也尝试过不同的图片?

1 个赞

在我的 Discourse 实例上可以正常工作。

2 个赞

是的,我现在尝试用我电脑桌面和其他文件夹里的各种图片进行测试,结果一样。

1 个赞

我们正在调查,只是确认一下是“复制粘贴”、“拖放”、上传按钮还是全部三者?

我在我的 Windows 机器上尝试了这三种组合,但我们可能还需要使用标准帐户重试,以防我绕过某些内容。

1 个赞

“确认一下,这是“复制粘贴”、“拖放”,上传按钮还是全部三种?”

似乎是全部三种。

1 个赞

另外,万一这里有某个主题组件在捣乱,您能否在安全模式下尝试一下?

1 个赞

我在安全模式下尝试了所有三种方法,但仍然收到相同的错误。

1 个赞

嗯。刚在隐身窗口中尝试了所有三个,它们都可以正常工作。也许是我的 FF 的 cookie/缓存有问题,而不是你们那边的问题。

(以下图片来自 FF 隐身模式发布):

1 个赞

AwsS3/Multipart:无法读取 ETag 标头。这很可能意味着 S3 存储桶上的 CORS 配置不正确。请参阅 https://uppy.io/docs/aws-s3-multipart#S3-Bucket-Configuration 获取说明。

也许这只是临时的 S3 故障?ETag 应该在上传部分到 AWS 的响应中返回,但这必须通过存储桶上的 CORS 设置明确启用:

它在我于 Linux 上的 95.0.2 版本中刚刚可以正常工作。

1 个赞

ETag 应在将部分上传上传到 AWS 的响应中返回,但这必须通过我们在存储桶上设置 CORS 来显式启用:

嗯,在我这边似乎也显示了(这是 FF 的截图,但现在通过 Chrome 上传):

我在隐身窗口中尝试了所有这三个,它们都正常工作。也许是我的 FF 浏览器中的 cookie/缓存出了问题,而不是你那边的问题。

我删除了 discourse.org 的 cookie,并将我的 FF 增强跟踪保护设置为基本关闭,但它仍然发生。但在 FF 的隐身模式下仍然可以正常工作。

我会继续在我这边进行试验,看看是否是 FF 扩展或其他原因导致的问题。

1 个赞

罪魁祸首找到了。我安装了 ClearURLs FF 附加组件,它有一个选项:

过滤请求中的 ETag 标头(另请参阅这篇文章

我禁用了该设置,现在可以正常工作了,下面是从 FF 非隐身窗口上传的照片。

感谢您帮助我调试这个问题!

8 个赞

精彩的捕获,感谢 @jimkleiber……如果再次出现,我会通知团队!

3 个赞

不客气,@sam!很高兴能帮到你。另外,这让我看到在 Discourse 上将对话从“bug”改为“support”,然后再将其切换为事后可解决的主题类型是多么容易 :pray:

4 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.