随着移动互联网和移动应用的发展,用户在使用应用过程中存储和管理大量的图片已经得到广泛的应用。uniapp是一款基于vue.js开发的跨平台框架,可以轻松地开发出小程序、h5、app等应用。在开发过程中,有时需要将获取的图片保存到本地,以便下次快速调用,下面我们就来看看uniapp怎么保存图片到本地。
一. 获取图片
在开发过程中,我们需要使用到图片,我们可以通过uni.request或uni.downloadFile来获取图片资源。
- uni.request
uni.request是Uniapp中进行网络请求的常用方法,我们可以通过设置responseType的属性来获取图片资源。具体代码如下:
uni.request({
url: 'http://www.example.com/resource/1.jpg',
responseType: 'arraybuffer',
success: (res) => {
uni.saveFile({
tempFilePath: res.tempFilePath,
success: (saveRes) => {
console.log(saveRes);
}
});
}
});其中,url为图片的链接,responseType为'arraybuffer'表示以二进制形式获取图片资源,获取成功后将其保存到tempFilePath中,最后通过uni.saveFile来将图片保存到本地。
- uni.downloadFile
uni.downloadFile是Uniapp中进行下载文件的常用方法,我们可以通过设置url的属性来获取图片资源。具体代码如下:
uni.downloadFile({
url: 'http://www.example.com/resource/1.jpg',
success: (res) => {
uni.saveFile({
tempFilePath: res.tempFilePath,
success: (saveRes) => {
console.log(saveRes);
}
});
}
});其中,url为图片的链接,获取成功后将其保存到tempFilePath中,最后通过uni.saveFile来将图片保存到本地。
二. 保存图片
我们已经获取到了图片资源,接下来就需要将其保存到本地。通过uni.saveFile可以将文件保存在本地,但是每个平台的保存路径都不相同,Uniapp封装了一个方法getFileSystemManager,可以获取到当前平台的本地存储路径。
【极品模板】出品的一款功能强大、安全性高、调用简单、扩展灵活的响应式多语言企业网站管理系统。 产品主要功能如下: 01、支持多语言扩展(独立内容表,可一键复制中文版数据) 02、支持一键修改后台路径; 03、杜绝常见弱口令,内置多种参数过滤、有效防范常见XSS; 04、支持文件分片上传功能,实现大文件轻松上传; 05、支持一键获取微信公众号文章(保存文章的图片到本地服务器); 06、支持一键
具体代码如下:
uni.getFileSystemManager().access({
path: '/storage/emulated/0/uniapp_demo/',
success: () => {
uni.saveFile({
tempFilePath: res.tempFilePath,
filePath: '/storage/emulated/0/uniapp_demo/1.jpg',
success: (res) => {
console.log('保存成功');
}
});
},
fail: () => {
uni.getFileSystemManager().mkdir({
dirPath: '/storage/emulated/0/uniapp_demo/',
success: () => {
uni.saveFile({
tempFilePath: res.tempFilePath,
filePath: '/storage/emulated/0/uniapp_demo/1.jpg',
success: (res) => {
console.log('保存成功');
}
});
}
});
}
});其中,path为本地存储路径,通过access来判断目录是否存在,不存在就通过mkdir来创建目录,最后通过uni.saveFile将文件保存到本地。
三. 结语
以上就是Uniapp中如何将图片保存到本地的方法,开发者可以根据自己的需求进行调整。在使用过程中遇到问题可以通过Uniapp官网文档或社区中的帖子来解决。希望本文能够对您有所帮助。









