Flutter - 从 URL 下载图像并上传到 firebase 存储而不在设备上存储任何内容

Flutter - Download image from URL and upload to firebase storage without storing anything on device

我知道我们可以使用 https://pub.dev/packages/image_downloader 下载图像文件并将其存储到本地存储,然后将该文件上传到 firebase 存储,但我不想在本地存储上存储任何内容。

(Here I mean downloading an image from an external URL, that is not already stored/uploaded to the Firebase storage.)

此外,我不想将图像 URL 直接存储到数据库中(因为如果将来图像在 URL 上不可用会导致问题),所以我要下载并保存镜像文件

这样的事情是可能的还是必须先存储图像才能实现?

谢谢,非常感谢所有帮助。

找到了一种方法,也许它很明显,因为它非常简单,我只是不知道。无论如何,将保留问题,以防对其他人有帮助。

下面的代码片段完全符合我的要求:

(此处仅显示两个重要导入)

import 'package:firebase_storage/firebase_storage.dart';
import 'package:http/http.dart';

try {
    Uri uri = Uri.parse("<<image_url>>");

    Response resp = await get(uri);
    Reference ref =
        FirebaseStorage.instance.ref("some_folder").child("image_name.png");
    SettableMetadata metadata = SettableMetadata(contentType: "image/png");
    TaskSnapshot taskSnapshot = await ref.putData(resp.bodyBytes, metadata);
    _logger.info(await ref.getDownloadURL());
  } catch (e) {
    _logger.shout(e);
  }