Flutter 如何在没有任何第三方库的情况下从 url 下载文件

Posted

技术标签:

【中文标题】Flutter 如何在没有任何第三方库的情况下从 url 下载文件【英文标题】:Flutter How to download a file from an url without any third party library 【发布时间】:2021-09-09 06:00:26 【问题描述】:

我有一个文件的下载网址。现在我想下载文件并将文件作为文件获取。

现在我该怎么做?需要帮助。

【问题讨论】:

你是不是刚问了一个问题就马上回答了自己? @isaaaaame 这没有错。这个网站的目的是分享知识。 ***.com/help/self-answer @isaaaaame 是的,伙计们。我这样做是因为我需要进一步的解决方案并且我分享它是因为如果它可以帮助其他人会很棒。 【参考方案1】:

好吧,你可以使用Dart s HttpClient 类,实现将类似于下面给出的这个方法。


  Future<File> _downloadFile(String url, String filename) async 
    var httpClient = new HttpClient();
    try
      var request = await httpClient.getUrl(Uri.parse(url));
      var response = await request.close();
      var bytes = await consolidateHttpClientResponseBytes(response);
      final dir = await getTemporaryDirectory();//(await getApplicationDocumentsDirectory()).path;
      File file = new File('$dir.path/$filename');
      await file.writeAsBytes(bytes);
      print('downloaded file path = $file.path');
      downloadedPDFFile = file;
      return file;
    catch(error)
      print('pdf downloading error = $error');
      return File('');
    

【讨论】:

以上是关于Flutter 如何在没有任何第三方库的情况下从 url 下载文件的主要内容,如果未能解决你的问题,请参考以下文章

在没有第三方库的情况下从 JSON 获取动态对象的最佳方法是啥?

在没有任何库的情况下从多个图像用 Javascript 制作 GIF

在没有任何第三方组件的情况下从 C# 连接到 MySQL?

Flutter - 如何在没有互联网的情况下从坐标获取国家?

Flutter:在没有上下文的情况下从 InheritedWidgets 访问数据?

如何在不删除任何文件的情况下从跟踪中分离文件夹?