Где я могу хранить изображения для моего приложения android? - PullRequest
0 голосов
/ 27 мая 2020

Я создаю приложение в режиме флаттера и хочу хранить много изображений. Кто-нибудь подскажет, где я могу хранить изображения, которые легко использовать в моем приложении. Я имею в виду, следует ли мне хранить его локально или в облаке? Если да, какое облако или серверную часть мне следует использовать, какое из них хорошо и полностью оптимизировано для моего приложения flutter (например, mon go, django, firebase et c.). Кто-нибудь подскажет мне лучшее?

Любая помощь приветствуется, так как у меня нет предварительных знаний о производственной части ....

1 Ответ

1 голос
/ 27 мая 2020

Хранение изображений на сервере может быть очень дорогим, так как размеры файлов очень велики по сравнению с обычными данными. Так что, если вам не НУЖНО хранить их на сервере, не надо.

Хранить изображения локально довольно просто. Вы захотите использовать пакет 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;
  }
...