首页 > 解决方案 > 我可以在哪里存储我的 android 应用程序的图像?

问题描述

我正在用颤振构建一个应用程序,我想存储许多图像。所以有人会建议我在哪里可以存储易于在我的应用程序中使用的图像。我的意思是我应该将它存储在本地还是云中?如果是,我应该使用哪个云或后端,哪个对我的 Flutter 应用程序(如 mongo、django、firebase 等)来说是好的和完全优化的。有人会建议我最好的吗?

由于我对生产部分没有先验知识,因此可以提供任何帮助。

标签: flutterdartbackend

解决方案


在服务器上存储图像可能非常昂贵,因为与通常的数据相比,文件大小非常大。因此,如果您不需要将它们存储在服务器上,请不要。

在本地存储图像非常简单。您将需要使用 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;
  }

推荐阅读