feat: 图片保存到PiliPala目录(Android) issues #94

This commit is contained in:
guozhigq
2023-09-12 00:11:16 +08:00
parent 09ff01905e
commit 7867af0f85
3 changed files with 34 additions and 27 deletions

View File

@ -2,8 +2,8 @@ import 'dart:typed_data';
import 'package:dio/dio.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:image_gallery_saver/image_gallery_saver.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:saver_gallery/saver_gallery.dart';
class DownloadUtils {
// 获取存储权限
@ -15,25 +15,32 @@ class DownloadUtils {
statuses[Permission.storage].toString();
}
static Future<bool> downloadImg(String imgUrl) async {
await requestStoragePer();
SmartDialog.showLoading(msg: '保存中');
var response = await Dio()
.get(imgUrl, options: Options(responseType: ResponseType.bytes));
String picName =
"plpl_cover_${DateTime.now().toString().split('-').join()}.png";
final result = await ImageGallerySaver.saveImage(
Uint8List.fromList(response.data),
quality: 100,
name: picName,
);
SmartDialog.dismiss();
if (result != null) {
if (result['isSuccess']) {
// ignore: avoid_print
static Future<bool> downloadImg(String imgUrl,
{String imgType = 'cover'}) async {
try {
await requestStoragePer();
SmartDialog.showLoading(msg: '保存中');
var response = await Dio()
.get(imgUrl, options: Options(responseType: ResponseType.bytes));
String picName =
"plpl_${imgType}_${DateTime.now().toString().split('-').join()}";
final SaveResult result = await SaverGallery.saveImage(
Uint8List.fromList(response.data),
quality: 60,
name: picName,
// 保存到 PiliPala文件夹
androidRelativePath: "Pictures/PiliPala",
androidExistNotSave: false,
);
SmartDialog.dismiss();
if (result.isSuccess) {
await SmartDialog.showToast('$picName」已保存 ');
}
return true;
} catch (err) {
SmartDialog.dismiss();
SmartDialog.showToast(err.toString());
return true;
}
return true;
}
}