【问题标题】:How to download video from url into internal storage of phone in flutter?如何将视频从url下载到手机的内部存储中?
【发布时间】:2021-09-12 05:54:14
【问题描述】:

我正在通过 URL 在我的应用中播放视频。我需要将该视频下载到手机的内部存储器中。我怎样才能做到这一点。有没有什么办法。我是 Flutter 新手?

【问题讨论】:

    标签: flutter dart flutter-layout


    【解决方案1】:

    您可以使用以下代码下载视频....

    static var httpClient = HttpClient();
    
    Future<File> downloadFile(String url1, String filename) async {
        var request = await httpClient.getUrl(Uri.parse(url1));
        var response = await request.close();
        var bytes = await consolidateHttpClientResponseBytes(response);
        String dir = (await getApplicationDocumentsDirectory()).path;
        File file = new File('$dir/$filename');
        await file.writeAsBytes(bytes);
        return file;
      }

    【讨论】:

    • 需要什么插件?
    • path_provider, http
    【解决方案2】:

    这是一个可以帮助你的例子

    downloadVideo()
      { var url = "Your url";
        var status = await Permission.storage.status;
    
      if (!status.isGranted) {
      await Permission.storage.request();
      }
        var tempPath = await ExtStorage.getExternalStoragePublicDirectory(
        ExtStorage.DIRECTORY_DOWNLOADS);
    try {
    
      var res = await http.get(
        '$url',
        headers: <String, String>{
          'Authorization': _userDataController.userDataModel.token,//if authorization is not required then remove this line
        },
      );
    
      filePath = tempPath + '/Video1.mp4';//use you own video format
    
    
    } catch (e) {
    
      print(e);
    }}
    

    你必须使用permission_handler: ^8.1.2 & http: ^0.13.3path_provider: ^2.0.2

    【讨论】:

      猜你喜欢
      • 2020-06-30
      • 2016-09-10
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 2015-12-23
      • 1970-01-01
      • 2019-10-08
      相关资源
      最近更新 更多