w***@edoovo.com
w***@edoovo.com
  • 发布:2023-05-11 17:28
  • 更新:2023-09-23 10:21
  • 阅读:736

【报Bug】saveImageToPhotosAlbum 在安卓 sdk33下提示 fail No Permission

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 11

HBuilderX类型: 正式

HBuilderX版本号: 3.7.11

手机系统: Android

手机系统版本号: Android 12

手机厂商: 华为

手机机型: Samsung A33

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
                uni.downloadFile({  
                    url: 'https://exmaple.com/test.jpg", //图片地址  
                    success: (res) => {  
                        if (res.statusCode == 200 ) {  
                            uni.saveImageToPhotosAlbum({  
                                filePath: res.tempFilePath,  
                                success: function() {  
                                    uni.showToast({  
                                        title: "Download success",  
                                        icon: "none"  
                                    })  
                                    uni.hideLoading();  
                                },  
                                fail: function(e) {  
                                    uni.showToast({  
                                        title: e.errMsg,  
                                        icon: "none"  
                                    })  
                                }  
                            })  
                        } else {  
                            uni.showToast({  
                                title: "Download failed 2",  
                                icon: "none"  
                            })  
                            // console.log('downloadFile res.statusCode !== 200', res)  
                        }  
                    },  
                    fail: () => {  
                        uni.showToast({  
                            title: "Download failed 3",  
                            icon: "none"  
                        })  
                    }  

                })  

操作步骤:

运行代码

预期结果:

保存图片无法成功

实际结果:

无法保存图片

bug描述:

compileSdkVerson 和 targetSdkVersion 设置为33
saveImageToPhotosAlbum
报错 fail No Permission

应该和这个问题类似 https://ask.dcloud.net.cn/question/161450

2023-05-11 17:28 负责人:无 分享
已邀请:
leiye

leiye

同样的问题,我用原生写了个插件是可以保存的,确认不是权限的问题,大哥你解决了吗?下面这个代码是可以正常保存的

               ContentValues values = new ContentValues();  
                values.put(MediaStore.Images.Media.DISPLAY_NAME, System.currentTimeMillis());  
                values.put(MediaStore.Images.Media.MIME_TYPE, "image/png");  
                values.put(MediaStore.Images.Media.RELATIVE_PATH, Environment.DIRECTORY_PICTURES);  

                Uri imageUri = context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);  

                try (OutputStream outStream = context.getContentResolver().openOutputStream(imageUri)) {  
                    bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);  
                } catch (Exception e) {  
                    throw new RuntimeException(e);  
                }
  • w***@edoovo.com (作者)

    还没, 我觉得这个问题应该是需要官方来修吧, 要不就写插件绕过去

    2023-06-25 08:45

  • leiye

    回复 w***@edoovo.com: 嗯,打算写插件了,关键是官方没有回应啊

    2023-06-25 13:35

  • 1***@qq.com

    回复 leiye: 请问解决了吗

    2023-10-17 23:40

Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

是不是第一次拒绝了权限

  • leiye

    不是权限的事,应该是是uniapp的bug,我拿原生写可以正常保存到相册

    2023-06-25 13:36

w***@edoovo.com

w***@edoovo.com (作者)

没有人遇到相同的问题吗?

  • 1***@qq.com

    有啊,请问解决了吗

    2023-10-15 13:25

恋上蓝白

恋上蓝白

我也遇到了 也是用的33的sdk saveImageToPhotosAlbum:fail No Permission

  • 1***@qq.com

    请问一下,解决了吗

    2023-10-15 13:24

要回复问题请先登录注册