This commit is contained in:
bluesea 2024-05-14 17:22:02 +08:00
parent f6f9eef2f9
commit 2a103f5018
5 changed files with 89 additions and 1 deletions

View File

@ -1,6 +1,7 @@
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 {
@ -10,7 +11,6 @@ class DownloadManager {
// option: Options(responseType: ResponseType.bytes)
var reqiest = await httpClient.getUrl(Uri.parse(urlStr));
var response = await reqiest.close();
// var bytes = await consolidateHttpClientResponseBytes(response);
var bytes = await consolidateHttpClientResponseBytes(response);
var fileName = await LocalImgManager.saveImgDataBytes(bytes);
// print(fileName);
@ -21,4 +21,37 @@ class DownloadManager {
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 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);
}
}

View File

@ -376,6 +376,14 @@ packages:
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.0.2"
image_gallery_saver:
dependency: "direct main"
description:
name: image_gallery_saver
sha256: be812580c7a320d3bf583af89cac6b376f170d48000aca75215a73285a3223a0
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.7.1"
io:
dependency: transitive
description:
@ -544,6 +552,46 @@ packages:
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.2.1"
permission_handler:
dependency: "direct main"
description:
name: permission_handler
sha256: bc56bfe9d3f44c3c612d8d393bd9b174eb796d706759f9b495ac254e4294baa5
url: "https://pub.flutter-io.cn"
source: hosted
version: "10.4.5"
permission_handler_android:
dependency: transitive
description:
name: permission_handler_android
sha256: "59c6322171c29df93a22d150ad95f3aa19ed86542eaec409ab2691b8f35f9a47"
url: "https://pub.flutter-io.cn"
source: hosted
version: "10.3.6"
permission_handler_apple:
dependency: transitive
description:
name: permission_handler_apple
sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5"
url: "https://pub.flutter-io.cn"
source: hosted
version: "9.1.4"
permission_handler_platform_interface:
dependency: transitive
description:
name: permission_handler_platform_interface
sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.12.0"
permission_handler_windows:
dependency: transitive
description:
name: permission_handler_windows
sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.1.3"
photo_view:
dependency: "direct main"
description:

View File

@ -55,6 +55,9 @@ dependencies:
#随机生成文件名
crypto: ^3.0.3
#将图片导出到相册
image_gallery_saver: ^1.7.1
permission_handler: ^10.0.0
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.6

View File

@ -6,6 +6,9 @@
#include "generated_plugin_registrant.h"
#include <permission_handler_windows/permission_handler_windows_plugin.h>
void RegisterPlugins(flutter::PluginRegistry* registry) {
PermissionHandlerWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin"));
}

View File

@ -3,6 +3,7 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
permission_handler_windows
)
list(APPEND FLUTTER_FFI_PLUGIN_LIST