在教育培训系统开发中,移动端需求是微信小程序和H5混合开发,使用uniapp,在上传提交本地图片(拍照或本地选择)时,调用官方api uni.chooseImage(OBJECT) ,返回值在小程序端和H5端的返回值, tempFilePaths 会有差异,在小程序端本地文件路径为临时http路径,但是在H5端,改路径为blob路径。在调用uni.uploadFile(OBJECT)时,blob路径作为H5端传值,发现后台无法接受到上传的图片。遂寻找解决办法。

uni.uploadFile({
    url:'http://www.teamsfy.com',     // 后端api接口
    filePath: res.tempFilePaths[0], // uni.chooseImage函数调用后获取的本地文件路劲
    name:'file',     //后端通过'file'获取上传的文件对象

    // header: { 'content-type': 'application/json' },

    success:(res) => {
        console.log(res)
    },
    fail: (err) => {
        console.log('uploadImage fail', err);
        uni.showModal({
            content: err.errMsg,
            showCancel: false
            });
    }
});

注释掉请求头header后发现问题解决了!