Flutter 如何从 url 下载文件而不需要任何第三方库

Sai*_*lam 3 android ios dart flutter

我有一个文件的下载 URL。现在我想下载该文件并检索它。

我怎样才能做到这一点?

Sai*_*lam 5

好吧,您可以使用DartsHttpClient类,并且实现将类似于下面给出的方法。

import 'dart:io';
import 'package:flutter/foundation.dart';


  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}');
      return file;
    }catch(error){
      print('pdf downloading error = $error');
      return File('');
    }

Run Code Online (Sandbox Code Playgroud)