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);
}
我知道我们可以使用 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);
}