WallPaper_ZZH_Flutter/wallpaper/lib/utils/downloadmanager.dart
bluesea a7dcfb660b s
2024-05-14 17:40:02 +08:00

57 lines
1.7 KiB
Dart

import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:image_gallery_saver/image_gallery_saver.dart';
import 'package:wallpaper/utils/local_img_manager.dart';
class DownloadManager {
static Future<void> downloadImgWithUrl(String urlStr) async {
var httpClient = HttpClient();
try {
// option: Options(responseType: ResponseType.bytes)
var reqiest = await httpClient.getUrl(Uri.parse(urlStr));
var response = await reqiest.close();
var bytes = await consolidateHttpClientResponseBytes(response);
var fileName = await LocalImgManager.saveImgDataBytes(bytes);
// print(fileName);
//写入数据库信息
//.....
}
catch(error) {
print("the error:${error}");
}
}
// 保存到相册的UTil
// static Future<dynamic> saveLocalImage(String imagePath) async {
// var image = await ImageUtil.loadImageByFile(imagePath);
// ByteData? byteData =
// await (image.toByteData(format: ui.ImageByteFormat.png));
// if (byteData != null) {
// final result =
// await ImageGallerySaver.saveImage(byteData.buffer.asUint8List());
// print("SaveToAlbumUtil result:${result}");
// return result;
// } else {
// throw StateError("saveLocalImage error imagePath:${imagePath}");
// }
// }
//从网络保存至相册
static Future<void> saveNetworkImage(String urlStr) async {
var httpClient = HttpClient();
var reqiest = await httpClient.getUrl(Uri.parse(urlStr));
var response = await reqiest.close();
var bytes = await consolidateHttpClientResponseBytes(response);
final result = await ImageGallerySaver.saveImage(
Uint8List.fromList(bytes),
quality: 60,
name: "hello");
print(result);
}
}