I\'m working on a project, that requires me to download a file from URL, once a button is tapped, and store it to phone storage (probably downloads folder).
Any idea
If you want to download and save file from URL without external libraries, you can use this code. It works for me, but I do not check it on big files. Good luck.
Future downloadFile(String url, String fileName, String dir) async {
HttpClient httpClient = new HttpClient();
File file;
String filePath = '';
String myUrl = '';
try {
myUrl = url+'/'+fileName;
var request = await httpClient.getUrl(Uri.parse(myUrl));
var response = await request.close();
if(response.statusCode == 200) {
var bytes = await consolidateHttpClientResponseBytes(response);
filePath = '$dir/$fileName';
file = File(filePath);
await file.writeAsBytes(bytes);
}
else
filePath = 'Error code: '+response.statusCode.toString();
}
catch(ex){
filePath = 'Can not fetch url';
}
return filePath;
}
For Android do not forgetto add these lines in the manifest file, otherwise it will not work on real device after build apk: