Download file from url, save to phones storage

后端 未结 4 1764
感动是毒
感动是毒 2020-12-30 06:56

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

4条回答
  •  孤城傲影
    2020-12-30 07:42

    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:

    
    
    
    
    
    

提交回复
热议问题