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"
})
}
})
- 发布:2023-05-11 17:28
- 更新:2023-09-23 10:21
- 阅读:736
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 3.7.11
手机系统: Android
手机系统版本号: Android 12
手机厂商: 华为
手机机型: Samsung A33
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
运行代码
运行代码
预期结果:
保存图片无法成功
保存图片无法成功
实际结果:
无法保存图片
无法保存图片
bug描述:
compileSdkVerson 和 targetSdkVersion 设置为33
saveImageToPhotosAlbum
报错 fail No Permission
应该和这个问题类似 https://ask.dcloud.net.cn/question/161450
同样的问题,我用原生写了个插件是可以保存的,确认不是权限的问题,大哥你解决了吗?下面这个代码是可以正常保存的
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);
}
Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序
是不是第一次拒绝了权限
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