Загрузите изображение с URL-адреса и сохраните в папке SD-карты в флаттере - PullRequest
0 голосов
/ 02 мая 2020

Я хочу загрузить изображение с URL и сохранить его в папке SD.

то, что я пробовал:

Я пробовал этот код, он отлично работает, но он хранится в /storage/emulated/0/Android/data/com.example.college_services/files/Images но я хочу хранить в /Sdcard/Images

_dowloadimg() async{
    var url = widget.imageURL;
    var response = await get(url);
    var documentDirectory = await getExternalStorageDirectory();
    var firstPath = documentDirectory.path + "/Images";
    var filePathAndName = documentDirectory.path + '/Images/img_${i++}.jpg';
    await Directory(firstPath).create(recursive: true);
    File file2 = new File(filePathAndName);
    file2.writeAsBytesSync(response.bodyBytes);

  }

1 Ответ

0 голосов
/ 02 мая 2020

Поскольку path_provider не предоставляет путь к каталогу загрузки. Вам нужно будет вызвать собственный apis.

Используйте эти пакеты для этого: -

downloads_path_provider ИЛИ ext_storage

В В случае 1-го кода код будет выглядеть так: -

var documentDirectory = await DownloadsPathProvider.downloadsDirectory;

В случае 2-го кода код будет выглядеть так: -

var documentDirectory = await ExtStorage.getExternalStoragePublicDirectory(ExtStorage.DIRECTORY_DOWNLOADS);
...