收藏
回答

在小程序端,fileID转base64应该怎么写?

方便的话贴一段代码 谢谢

回答关注问题邀请回答
收藏

1 个回答

  • David
    David
    2022-10-09
      // fileid转base64
        fileidToBase64: (fileID) => {
            return new Promise((resolve, reject) => {
                try {
                    const fs = wx.getFileSystemManager()
                    wx.cloud.getTempFileURL({
                        fileList: [{
                            fileID,
                            maxAge: 60 * 60, // one hour
                        }]
                    }).then(res => {
                        // get temp file URL
                        console.log('fileid 转 url :', res.fileList)
                        const [{
                            tempFileURL
                        }] = res?.fileList || []
                        console.log('url :', tempFileURL)
                        wx.downloadFile({
                            url: tempFileURL, //仅为示例,并非真实的资源
                            success(res) {
                                // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
                                console.log('下载文件: ', res);
                                if (res.statusCode === 200) {
                                    const res1 = fs.readFileSync(res.tempFilePath, 'base64', 0)
                                    //console.log('图片base64:', res1)
                                    resolve({
                                        base64: res1
                                    })
                                }
                            },
                            fail(e) {
                                console.log('下载失败;', e);
                                resolve({
                                    base64: ''
                                })
                            }
                        })
                    }).catch(error => {
                        // handle error
                        resolve({
                            base64: ''
                        })
                    })
                } catch (e) {
                    console.error(' fileid转base64 失败', e)
                    resolve({
                        base64: ''
                    })
                }
            })
        },
    
    2022-10-09
    有用
    回复
登录 后发表内容