美文网首页
flutter图片保存到手机相册

flutter图片保存到手机相册

作者: _诸葛青 | 来源:发表于2021-06-07 09:50 被阅读0次
  #保存到图库
  image_gallery_saver: ^1.6.0
   #获取路径
  path_provider: ^1.6.16

配置:


image.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"]}');
    });
  }
}



相关文章

网友评论

      本文标题:flutter图片保存到手机相册

      本文链接:https://www.haomeiwen.com/subject/pegssltx.html