uni-app uni.previewImage默认保存图片时出问题

uni-app uni.previewImage默认保存图片时出问题

示例代码:

uni.previewImage({ current: ‘https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/9a952c80-6080-11eb-a16f-5b3e54966275.png’, urls: [‘https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/9a952c80-6080-11eb-a16f-5b3e54966275.png’,'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/d84c6de0-6080-11eb-bdc1-8bd33eb6adaa.png’] })


## 操作步骤:

直接在官方uni-app示例中的pages/API/image/image.vue页面代码中,修改uni.previewImage方法调用参数即可  
图片预览API对应的默认保存至相册,在图片资源是网络图片时,只能保存最后一张图片;且在第一次保存后,再进行保存操作,保存会非常卡,需要点击关闭预览界面时才显示保存成功。

## 预期结果:

可以保存多张图片,且保存时不卡顿

## 实际结果:

只能保存一张图片,且在第二次执行长按保存操作时非常卡

## bug描述:


uni.previewImage({
current: current,
urls: this.imageList
})
图片预览API对应的默认保存至相册,在图片资源是网络图片时,只能保存最后一张图片;且在第一次保存后,再进行保存操作,保存会非常卡,需要点击关闭预览界面时才显示保存成功。
当前发现多个版本的基座均有此问题,一直未修复
项目信息 描述
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 win 10
HBuilderX类型 正式
HBuilderX版本 3.1.8
手机系统 Android
手机系统版本 Android 10
手机厂商 小米
手机机型 mi 9
页面类型 nvue
打包方式 云端
项目创建方式 HBuilderX

更多关于uni-app uni.previewImage默认保存图片时出问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app uni.previewImage默认保存图片时出问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个已知的uni-app平台问题。uni.previewImage在Android端确实存在网络图片保存的bug,主要表现为:

  1. 只能保存最后一张预览的图片
  2. 多次保存操作会出现卡顿
  3. 保存成功提示延迟到关闭预览界面时才显示

临时解决方案:

建议使用uni.downloadFile配合uni.saveImageToPhotosAlbum实现自定义保存功能:

// 自定义下载保存方法
saveImage(url) {
    uni.downloadFile({
        url: url,
        success: (res) => {
            if (res.statusCode === 200) {
                uni.saveImageToPhotosAlbum({
                    filePath: res.tempFilePath,
                    success: () => {
                        uni.showToast({title: '保存成功'});
                    },
                    fail: () => {
                        uni.showToast({title: '保存失败', icon: 'none'});
                    }
                });
            }
        }
    });
}
回到顶部