flutter图片保存到手机相册
2021-06-07 本文已影响0人
_诸葛青
#保存到图库
image_gallery_saver: ^1.6.0
#获取路径
path_provider: ^1.6.16
配置:
![](https://img.haomeiwen.com/i17018255/00df059dcbf5594e.png)
我是用这个
<key>NSPhotoLibraryUsageDescription</key>
<string>需要访问你的相册权限</string>
没啥好说的,插件事例就是这样
import 'dart:io';
import 'dart:typed_data';
import 'package:dio/dio.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:gzzoc/utils/http/http_utils.dart';
import 'package:gzzoc/utils/permissions.dart';
import 'package:image_gallery_saver/image_gallery_saver.dart';
import 'package:path_provider/path_provider.dart';
class MediaSave {
static saveImageNetwork(String url,String name) async {
Permissions.requestPermissionStorage();
var response = await Dio()
.get(url, options: Options(responseType: ResponseType.bytes));
await ImageGallerySaver.saveImage(Uint8List.fromList(response.data),
quality: 60, name: name)
.then((result) {
Fluttertoast.showToast(
msg: result["isSuccess"]
? '下载成功,请在相册中查看'
: '下载失败,${result["errorMessage"]}');///提示信息
});
}
static saveFile(String url) async {
var appDocDir = await getTemporaryDirectory();
String savePath = appDocDir.path + "/temp.png";///temp.png这个自己命名
await Dio().download(url, savePath);
await ImageGallerySaver.saveFile(savePath,
isReturnPathOfIOS: Platform.isAndroid ? false : true)
.then((result) {
Fluttertoast.showToast(
msg: result["isSuccess"]
? '下载成功,请在相册中查看'
: '下载失败,${result["errorMessage"]}');
});
}
}