uniapp怎么存图片到本地

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预览图片并保存到本地。在实际开发中,可以根据需要选择合适的方法来进行操作。