weixin_45072092
hero-ho
采纳率0%
2019-06-02 01:02 阅读 2.6k

uni.canvasToTempFilePath 图片部分机型会出现空白

调用uni.canvasToTempFilePath截取图片的时候,输出生成的图片是正常的,输出在页面也 可以正常显示。但是上传给服务器后,当服务器返回该图片确实空白的。 这种情况只在一部分机型的h5端出现,一部分机型正常。出现这种情况的机型的app端也是正常显示的,没有任何问题。只是h5出了问题。

下面是代码:(代码应该是没有问题的,因为一部分机型完成是正常的)

ctx.draw(true, () => {  
                    // 获取画布要裁剪的位置和宽度   均为百分比 * 画布中图片的宽度    保证了在微信小程序中裁剪的图片模糊  位置不对的问题 canvasT = (_this.cutT / _this.cropperH) * (_this.imageH / pixelRatio)  
                    var canvasW = ((_this.cropperW - _this.cutL - _this.cutR) / _this.cropperW) * IMG_REAL_W;  
                    var canvasH = ((_this.cropperH - _this.cutT - _this.cutB) / _this.cropperH) * IMG_REAL_H;  
                    var canvasL = (_this.cutL / _this.cropperW) * IMG_REAL_W;  
                    var canvasT = (_this.cutT / _this.cropperH) * IMG_REAL_H;  
                    uni.canvasToTempFilePath({  
                        x: canvasL,  
                        y: canvasT,  
                        width: canvasW,  
                        height: canvasH,  
                        destWidth: canvasW,  
                        destHeight: canvasH,  
                        quality: 0.5,  
                        canvasId: 'myCanvas',  
                        success: function (res) {  
                            uni.hideLoading();  
                            // 成功获得地址的地方  
                            let tempFacePath = res.tempFilePath;  
                            // 截取到新的像以后,就进行上传                             
                            uni.showLoading({  
                                mask: true,  
                                title: '上传中...'  
                            });  

                            uni.uploadFile({  
                                url: config.serverUrl + '/user/uploadFace?userId=' + _this.globalUser.id + '&qq=' + config.qq,  
                                filePath: tempFacePath,  
                                name: 'file',  
                                header: {  
                                    headerUserId: _this.globalUser.id,  
                                    headerUserToken: _this.globalUser.userUniqueToken,  
                                    withCredentials: true   
                                },  
                                success:(res) => {  
                                    let resData = JSON.parse(res.data);  
                                    if (resData.status == 200) {  
                                        // 获得最新的用户数据  
                                        var userInfo = resData.data;  
                                        uni.setStorageSync('globalUser', userInfo);  
                                        uni.hideLoading();  
                                        uni.redirectTo({  
                                            url: '../settings/settings'  
                                        });  
                                        uni.navigateBack({  
                                            delta: 1  
                                        });  

                                    } else if (resData.status == 502 || resData.status == 500) {  
                                        uni.hideLoading();  
                                        uni.showModal({  
                                            title: '提示',  
                                            content: '当前是异地登录,请重新登录',  
                                            showCancel: false,  
                                            success: (res) => {  
                                                if(res.confirm){  
                                                    post('/user/logout',{userId: _this.globalUser.id}).then((res) => {  
                                                        if(res.status == 200){  
                                                            uni.removeStorageSync("globalUser");  
                                                            uni.reLaunch({  
                                                                url: '../registerLogin/registerLogin?showToHome=true'  
                                                            });  
                                                        }  
                                                    });                                   
                                                }  
                                            },  
                                            fail: () => {  
                                                uni.removeStorageSync("globalUser");  
                                                uni.reLaunch({  
                                                    url: '../registerLogin/registerLogin?showToHome=true'  
                                                });  
                                            }  
                                        })  
                                    }else{  
                                        uni.hideLoading();  
                                        uni.showToast({  
                                            title: resData.msg,  
                                            icon: 'none',  
                                            image: '/static/icos/error.png',  
                                            duration: 3000  
                                        });  
                                    }  
                                },  
                                fail: (res) => {  
                                    uni.hideLoading();  
                                    uni.showModal({  
                                        title: '上传失败',  
                                        content: res.errMsg,  
                                        showCancel: false  
                                    });  
                                }  
                            });  

                        }  
                    });  
                });  
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • weixin_41946591 weixin_41946591 2020-05-09 14:56

    ios 上传了一张手机截图,也是空的,

    点赞 评论 复制链接分享

相关推荐