WGShare.Mobile.Flutter/wgshare/lib/view/upgrade/util/load_file_cancel_request.dart

36 lines
888 B
Dart

import 'package:dio/dio.dart';
import 'package:flutter/cupertino.dart';
class loadFileCancelRequest{
late Function progressCallback;
late Function successCallback;
CancelToken token = CancelToken();
load(String url, String path) async {
Dio dio = Dio();
await dio.download(url, path, cancelToken: token, onReceiveProgress: (received, total) {
if (total != -1) {
// 下载进度
progressCallback((received / total));
debugPrint("检查更新-下载进度:${(received / total)}");
}
}).then((onValue){
// 下载成功
successCallback();
});
}
cancel() {
token.cancel('取消请求');
}
setProgressCallbackListener(Function progressCallback){
this.progressCallback = progressCallback;
}
setSuccessCallbackListener(Function successCallback){
this.successCallback = successCallback;
}
}