【问题标题】:Cancel file download with http response in Flutter在 Flutter 中使用 http 响应取消文件下载
【发布时间】:2022-06-25 15:46:46
【问题描述】:

文件下载时我需要取消下载过程。

final http.Response responseData =
        await http.get("URL_HEAR");

如何停止/中止当前正在运行的下载文件。我是颤振的新手。谁能帮帮我。

【问题讨论】:

    标签: flutter dart flutter-http


    【解决方案1】:

    http.get 只是一个方便的函数,它创建 Client 并作为其基础,在其上执行 get,然后在客户端调用 close

    如果你创建了一个客户端,你可以在get 期间调用close,它会取消。下面是一个示例,展示了如何创建、使用和关闭客户端,以及一个计时器来演示早期的close 取消get

    import 'dart:async';
    
    import 'package:http/http.dart' as http;
    
    void main() async {
      // create a Client
      final client = http.Client();
    
      // Start a timer to demonstrate calling close() while in operation
      Timer(Duration(seconds: 1), () {
        client.close();
      });
    
      // use client.get as you would http.get
      final response = await client.get(
        Uri.parse('http://ipv4.download.thinkbroadband.com/100MB.zip'),
      );
    
      print(response.body.length); // this line is not reached
    
      // don't forget to close() the client for sunny day when *not* cancelled
      client.close();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-19
      • 1970-01-01
      • 2016-05-17
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      相关资源
      最近更新 更多