flutter 保存图片到本地
f'lutter 图片的保存 分为俩步:
1.开启存储图片权限
开启权限需要用到permission_handler
pubspec 添加
permission_handler: ^3.0.1
下载包就可以了

添加开启权限配置
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> flutter代码中添加权限开启代码:
@override
void initState() {
super.initState();
var permission = PermissionHandler().checkPermissionStatus(PermissionGroup.storage);
print("permission status is " + permission.toString());
PermissionHandler().requestPermissions(<PermissionGroup>[
PermissionGroup.storage, // 在这里添加需要的权限
]);
}
到了这一步会弹出请求开启权限的弹框,打开权限就可以进行图片保存的操作。
.进行图片保存
保存图片要用到
image_gallery_saver
pubspec 添加
image_gallery_saver : ^1.1.0
安装完毕 整代码保存图片就可以了:
onPressed: _testSaveImg, 在点击事件中添加保存图片代码
_testSaveImg () async {
print('保存图片88888');
print("_onImageSaveButtonPressed");
// 这个图片的地址是本地的文件进行测试 要引入,import 'package:flutter/services.dart' show rootBundle;
ByteData bytes = await rootBundle.load('assets/images/guide3.png');
final result = await ImageGallerySaver.save(bytes.buffer.asUint8List()); //这个是核心的保存图片的插件
print(result); //这个返回值 在保存成功后会返回true
if(result){
Fluttertoast.showToast(msg: '保存成功', fontSize: 14,gravity: ToastGravity.CENTER,timeInSecForIos: 1,textColor: Colors.white,);
}else{
Fluttertoast.showToast(msg: '保存失败', fontSize: 14,gravity: ToastGravity.CENTER,timeInSecForIos: 1,textColor: Colors.white,);
} }
自己整的时候是先保存图片,发现保存没有权限,权限处理权限浪费了点时间。
flutter 保存图片到本地的更多相关文章
- HTML 保存图片到本地
具体方法有两种 一种是 利用canvas的 toDataUrl 和Html5 里面的 <a>标签里面的 Download 属性 虽然 Download 的兼容性不怎么样 但是在文章后 ...
- JS/HTML 保存图片到本地:HTML <a> download 属性
JS如何保存图片到本地呢?自己百度一下吧! 这里想要说的是,可以利用 HTML 的 <a> 标签 来是实现保存图片到本地的功能,参考代码如下: <a href="http: ...
- js+Canvas 利用js 实现浏览器保存图片到本地
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 原生js 保存图片到本地
<template> <div> <!--创建一个cavas 用来存放图片--> <canvas id="cavasimg" width= ...
- Android笔记之使用ImageView加载网络图片以及保存图片到本地并更新图库
ImageView显示网络图片 findViewById(R.id.btnLoad).setOnClickListener(new View.OnClickListener() { @Override ...
- Flutter -------- 加载本地图片资源和网络图片
在Flutter加载本地图片资源 在Flutter项目目录下创建文件夹 images ,在文件夹中添加几张图片 指定资源 pubspec.yaml文件中 version: 1.0.0+1 enviro ...
- 微信小程序点击保存图片到本地相册——踩坑
在微信小程序中要保存图片到本地相册,需要获取相册权限. 总之整个功能实现下来需要如下几个小程序的API:wx.getSetting,wx.authorize,wx.openSetting,wx.dow ...
- Android学习笔记进阶18 之画图并保存图片到本地
1.首先创建一个Bitmap图片,并指定大小: 2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可: 3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...
- Android学习笔记进阶18之画图并保存图片到本地
1.首先创建一个Bitmap图片,并指定大小: 2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可: 3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...
随机推荐
- 战地记者也在使用Scrum
2011年埃及骚乱 2011年1月25日开始,埃及人民由于不满物价上涨.失业率高和腐败等问题,埃及多个城市发生民众大规模集会,要求总统穆巴拉克下台.本来这只是一场小规模的抗议活动,却如星火燎原般点燃了 ...
- iOS学习之自定义弹出UIPickerView或UIDatePicker(动画效果)
前面iOS学习之UIPickerView控件的简单使用 用到的UIPickerView弹出来是通过 textField.inputView = selectPicker; textField.in ...
- Echarts在java中使用
index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UT ...
- 数组和集合(四)、Map集合的使用总结
一.概述 键值对,无序 键唯一.值不唯一 只允许存在一个Key为null元素 二.实现类 1. HashMap · 无序,数组+链表+红黑树 · 非线程安全 2. LinkedHashMap · 有序 ...
- Linux实战教学笔记38:企业级Nginx Web服务优化实战(下)
四,Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog,sns产品,这几个产品都有一个共同特点,就 ...
- 使用Windows绘图合成多张图
[使用Windows绘图合成多张图] 1.点击图片右键选择打开方式→选择画图工具打开图片. 2.这时图片可以改变外框大小,将外框尽量弄大些. 3.点击编辑选中下拉菜单中的粘贴来源,选择需要增加进来的图 ...
- java命令查询属性信息
System.getProperty("user.home")可以查询JAVA系统的user.home属性的值, 除了user.home,还有user.dir, file.sepa ...
- 53-C++ CH08 01
http://lx.lanqiao.cn/problem.page?gpid=T407 算法训练 C++ CH08 01 时间限制:1.0s 内存限制:256.0MB 问题描述 已 ...
- Xmind 常用快捷键列表(官方推荐)
XMind中文版快捷键指南 XMind是一款非常实用的思维导图软件,能够帮助人们快速理清思路,打开新的局面.熟练地掌握快捷键的操作不光能够提供便捷,更能很大程度上的缩短制作时间,提高工作效率.本文总结 ...
- spring boot返回Josn的两种方式
1.Controller类上加@RestController注解 2.Controller类上加@Controller注解,Action接口上加@ResponseBody注解 @Responsebod ...