在 Flutter iOS 上,由于 400 错误,我无法上传到 Firebase 存储

On Flutter iOS, I can't upload to Firebase Storage because of 400 errors

我在使用 Flutter 将文件上传到 Firebase 存储时遇到问题。它只发生在 iOS.

cancelFetcher Error Domain=com.google.HTTPStatus Code=400 "(null)" UserInfo={data={length = 34, bytes = 0x55706c6f 61642068 61732061 6c726561 ... 6e616c69 7a65642e }, data_content_type=text/plain; charset=utf-8}

我可以下载文件,但不能上传。 Android 工作正常,所以它不是后端。 Firestore 在两个平台上都能完美运行。

对正在发生的事情有什么想法吗?

原来我缺少 contentType 并且规则阻止它上传。

  final metadata = SettableMetadata(
    contentType: 'image/jpeg',
  );

  await storage.ref(path).putData(data, metadata);