uni-app把网络图片转成本地图片,把base64图片转为本地图片

 //把网络图片改成本地图片
           getNetworkImage(url) {
                return new Promise((resolve, reject) => {
                    uni.downloadFile({
                        url,
                        success: (e) => {
                            const p = e.tempFilePath
                            if (p.indexOf('json') > -1) {
                                reject(p)
                                return false
                            }
                            resolve(p)
                        },
                        fail: (r) => {
                            reject(r)
                        }
                    })
                })
            },


            //把base64图片转为本地图片
            base64ToSave(base64data, FILE_BASE_NAME = 'tmp_base64src') {
                const fsm = uni.getFileSystemManager();
                return new Promise((resolve, reject) => {
                    //format这个跟base64数据的开头对应
                    const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || [];
                    if (!format) {
                        reject(new Error('ERROR_BASE64SRC_PARSE'));
                    }
                    const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`;
                    const buffer = wx.base64ToArrayBuffer(bodyData);
                    fsm.writeFile({
                        filePath,
                        data: buffer,
                        encoding: 'binary',
                        success() {
                            resolve(filePath);
                        },
                        fail() {
                            reject(new Error('ERROR_BASE64SRC_WRITE'));
                        },
                    });
                });
            },

猜你喜欢

转载自blog.csdn.net/qq_33769914/article/details/121248386