0

我在从 Flutter 应用程序将图像上传到 Supabase 存储时遇到问题。

基本上上传工作正常,但每次只上传一张空白图片。

这是我的代码。仅供参考,我正在使用颤振 image_picker 包来选择图像。

  File file = File(image.path);
  print('file $file'); // File: '/mydirectory/Library/Developer/CoreSimulator/Devices/98A6C1E0-14B0-481B-82CF-49803A0EB015/data/Containers/Data/Application/E07B33F6-7B5C-4EA0-AF78-84FF5A7E5BAD/tmp/image_picker_556716D5-69B1-485E-A7EE-39502A0F73C0-63547-0000EA70E7438D43.jpg'

  // Upload file to bucket "public"
  file.writeAsStringSync('File content');
  final storageResponse =
      await supabase.storage.from('public').upload(image.name, file);
  print('upload response : ${storageResponse.data}');

  // Get download url
  final urlResponse =
      await supabase.storage.from('public').createSignedUrl(image.name, 60);
  print('download url : ${urlResponse.data}');

storageResponse.data 和 urlResponse.data 都按预期输出(即从存储中获取响应)。

如前所述,它正在上传,但似乎正在上传错误类型的文件。我无法在存储中手动下载图像,也无法使用 url 查看它,我猜这是因为它已损坏。它还说图像大小为 12 个字节。

4

1 回答 1

0
  file.writeAsStringSync('File content');

看起来您正在用 12 字节字符串覆盖文件

于 2021-08-27T21:42:16.990 回答