3***@qq.com
3***@qq.com
  • 发布:2024-03-19 14:07
  • 更新:2024-03-19 14:31
  • 阅读:49

安卓端图片存储

分类:uni-app

需求
用uniapp开发安卓端,我有一个拍照后,保存图片到手机内存某个文件目录中的功能
要求
可自定义文件名,可自定义文件保存路径
疑问
uniapp官方好像没有对应的api

2024-03-19 14:07 负责人:无 分享
已邀请:
3***@qq.com

3***@qq.com (作者)

各位大佬,有没有相关的解决方案

套马杆的套子

套马杆的套子 - 没有解决不了的问题,只有解决不完的问题

参考下这个

let bitmap = new plus.nativeObj.Bitmap("test");                   
bitmap.loadBase64Data(imageStr, function() {
  • 3***@qq.com (作者)

    谢谢,

    这个方案我试过了,确实可以保存到手机自己内存的某个文件夹,但是我手机插了一个外置sd卡,保存到sd保存不上去,但是可以读到sd卡上的json文件,证明路径没错,权限 "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",

    "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",

    代码

    // 保存图片

    openSystemCamera(pictureUrl, path) {

    pathToBase64(pictureUrl).then(base64 => {

    const bitmap = new plus.nativeObj.Bitmap("test");

    console.log("bitmap", bitmap);

    bitmap.loadBase64Data(

    base64,

    () => {

    // /storage/emulated/0/ 内置

    // /storage/8741-8F7D/KINGTOP/Picture/

    // /storage/200F-13ED/image/外置

    const url = "/storage/200F-13ED/image/" + path + new Date()

    .getTime() + ".jpg"; // url为时间戳命名方式

    bitmap.save(

    url, {

    overwrite: true, // 是否覆盖

    // quality: 'quality' // 图片清晰度

    },

    (i) => {

    uni.showToast({

    title: '保存成功',

    icon: 'none'

    })


                                    bitmap.clear()  

    },
    (e) => {
    uni.showToast({
    title: '保存失败',
    icon: 'none'
    })
    console.log("失败", e);
    this.pictureCheckDialog = false
    bitmap.clear();

    }
    )
    },
    (e) => {
    uni.showToast({
    title: '保存失败',
    icon: 'none'
    })
    console.log("失败", e);
    this.pictureCheckDialog = false
    bitmap.clear();

    }
    )
    })
    },

    2024-03-19 14:49

要回复问题请先登录注册