在uniapp中使用uni.canvasToTempFilePath

实测在微信小程序/H5端success(res)回调是base64的图片

在App端返回的是app的本地(临时)路径 不是base64的图片

uni.canvasToTempFilePath({
    width: options.width,
    height: options.height,
    destWidth: options.width,
    destHeight: options.height,
    canvasId: options.canvasId,
    quality: Number(1),
    success: function (res) {
        if (options.cbResult) {
            options.cbResult(res.tempFilePath)
        }
    },
    fail: function (res) {
        if (options.cbResult) {
            options.cbResult(res)
        }
    },
    complete: function () {
        if (options.showLoading){
            uni.hideLoading();
        }
    },
}, options.context);

因此在App端不需要再进行下载文件操作

#ifndef APP-PLUS
uni.downloadFile({
    url: that.qrCodeURL, 
    success: function (res) {}
})
#endif

若APP对临时路径执行了上述下载的操作,则success回调无tempFilePath属性,而是一个非指定文件的路径

以致于APP端图片未显示

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐