不填longPressActions,有默认保存相册的选项,但是必须退出预览才能保存成功。所以要写longPressActions

由于uni.saveImageToPhotosAlbum保存到相册不能使用网络路径,所以要先使用uni.downloadFile下载下来获得本地路径

<block v-for="(item,index) in info.images" :key="index">
	<image :src="item" mode="aspectFill" @tap="previewImage(index)"></image>
</block>


// 预览图片
previewImage(index){
	let that = this
	uni.previewImage({
        current:index,
	    urls:that.info.images,
		longPressActions :{
			itemList:['保存图片'],
			success(data) {
				let imgurl = that.info.images[data.index]
				that.saveImage(imgurl)
			}
		},
    })
},
saveImage(imgurl){
	console.log(imgurl)
	uni.downloadFile({
		url:imgurl,
		success(res){
			console.log(res)
			let url = res.tempFilePath
			uni.saveImageToPhotosAlbum({
				filePath:url,
				success() {
					uni.showToast({
						title:'保存成功',
						icon:"none"
					})
				},
				fail(err) {
					uni.showToast({
						title:'保存失败',
						icon:"none"
				    })
				}
			})
		}
	})
},

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐