我想从网址上下载一张图片并保存到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);
}
由于path_provider不提供下载目录路径。你需要调用本地的apis。
使用这些包来实现:-
如果是第一种情况,代码会是这样的:-。
var documentDirectory = await DownloadsPathProvider.downloadsDirectory;
在第二种情况下,代码看起来是这样的:-
var documentDirectory = await ExtStorage.getExternalStoragePublicDirectory(ExtStorage.DIRECTORY_DOWNLOADS);