flutter - 我可以在哪里存储我的 android 应用程序的图像?
问题描述
我正在用颤振构建一个应用程序,我想存储许多图像。所以有人会建议我在哪里可以存储易于在我的应用程序中使用的图像。我的意思是我应该将它存储在本地还是云中?如果是,我应该使用哪个云或后端,哪个对我的 Flutter 应用程序(如 mongo、django、firebase 等)来说是好的和完全优化的。有人会建议我最好的吗?
由于我对生产部分没有先验知识,因此可以提供任何帮助。
解决方案
在服务器上存储图像可能非常昂贵,因为与通常的数据相比,文件大小非常大。因此,如果您不需要将它们存储在服务器上,请不要。
在本地存储图像非常简单。您将需要使用 path_provider 包https://pub.dev/packages/path_provider。我将发布一个我在当前项目中使用的功能。你会看到,它非常简单。
注意:在我的代码中,我从服务器中提取文件。如果您从不同的来源获取图像,则显然将这部分排除在外。
Future<File> createFileOfPdfUrl(String fileLocation, String name) async {
final url = Helper.baseUrl + "Files/Newsletter/" + fileLocation;
final filename = url.substring(url.lastIndexOf("/") + 1);
var request = await HttpClient().getUrl(Uri.parse(url));
var response = await request.close();
var bytes = await consolidateHttpClientResponseBytes(response);
String dir = (await pathProvider.getApplicationDocumentsDirectory()).path;
File file = new File('$dir/$filename');
await file.writeAsBytes(bytes);
return file;
}
推荐阅读
- c++ - 指向虚函数中成员函数的指针
- javascript - js拆分数组obj
- javascript - 如何在javascript中分配动态变量?
- rust - 如何解决涉及从 Rust 中的结构获取值的引用的不匹配类型错误
- typescript - Asciidoc.js - 从已解析的文档中获取 AsciiDoc 源
- java - void 方法返回什么?
- flutter - 即使在飞镖中有下划线,如何制作公共财产?
- firebase - 在 DNS 更改几周后,Zombie PWA 仍然获得流量
- applet - 在智能卡上下载 HCI 小程序有什么问题?
- docker - 带有 Python 包的 Ubuntu 的 Docker 映像大小将达到 1.7 G