uniapp怎么存图片到本地
1. 使用uni.saveImageToPhotosAlbum保存图片到本地相册
在uniapp中,可以通过uni.saveImageToPhotosAlbum方法将图片保存到用户的本地相册中。首先需要在页面的js文件中引入该方法:
import uni from 'uni-app'
uni.saveImageToPhotosAlbum({
filePath: '图片路径',
success: function () {
console.log('保存成功')
},
fail: function (err) {
console.log('保存失败: ' + JSON.stringify(err))
}
})
其中,filePath为图片路径,可以是本地路径或者网络路径。
需要注意的是,该方法需要用户授权才能保存图片到相册中。如果用户未授权,则需要在代码中处理授权逻辑,具体可以参考官方文档。
2. 使用uni.compressImage压缩图片并保存到本地
在将图片保存到本地时,为了节省用户手机的存储空间,通常需要对图片进行压缩处理。在uniapp中,可以使用uni.compressImage方法对图片进行压缩,并将压缩后的图片保存到本地。
uni.compressImage方法的使用示例:
uni.compressImage({
src: '原图路径',
quality: 80,
success: function (res) {
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: function () {
console.log('保存成功')
},
fail: function (err) {
console.log('保存失败: ' + JSON.stringify(err))
}
})
},
fail: function (err) {
console.log('压缩失败: ' + JSON.stringify(err))
}
})
其中,src为原图路径,quality为压缩质量,取值范围为0-100,数值越大,图片质量越高,文件体积也越大。
3. 使用uni.previewImage预览图片并保存到本地
在uniapp中,可以使用uni.previewImage方法预览图片,并将图片保存到本地。该方法的使用示例:
uni.previewImage({
urls: ['图片路径'],
longPressActions: {
itemList: ['保存图片'],
success: function (data) {
uni.downloadFile({
url: '图片路径',
success: function (res) {
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: function () {
console.log('保存成功')
},
fail: function (err) {
console.log('保存失败: ' + JSON.stringify(err))
}
})
},
fail: function (err) {
console.log('下载失败: ' + JSON.stringify(err))
}
})
}
}
})
其中,urls为图片路径数组,longPressActions则配置了长按操作列表。
该方法先将图片展示出来供用户预览,当用户长按图片后,会触发longPressActions的success回调函数,在该函数中,可以使用uni.downloadFile方法下载图片并保存到本地相册中。
总结
以上就是uniapp中将图片保存到本地的三种方法,分别是使用uni.saveImageToPhotosAlbum保存图片到本地相册、使用uni.compressImage压缩图片并保存到本地、使用uni.previewImage预览图片并保存到本地。在实际开发中,可以根据需要选择合适的方法来进行操作。