7***@qq.com
7***@qq.com
  • 发布:2024-11-05 16:42
  • 更新:2024-11-05 16:42
  • 阅读:131

【报Bug】uni.uploadFile 报错“{ "errMsg": "uploadFile:fail statusCode: null" }”

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 14.4.1

HBuilderX类型: 正式

HBuilderX版本号: 4.29

手机系统: 全部

手机厂商: 华为

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

App下载地址或H5⽹址: http://101.37.156.126:8999/#/

测试过的手机:

HarmonyOS NEXT未测试

示例代码:

getUpload(){
let base64 = this.receiveSign;
base64ToPath(base64).then(res => {
//res为图片路径
console.log(res)
let imgSrc = res;

                                // 本地地址:http://192.168.1.108:20000  
                                // 线上地址: http://api.yzkj8.cn:10000  

                                console.log(uni.getStorageSync('token'))  

                                // 将文件上传至后台,返回一个fileId  
                                uni.uploadFile({  
                                            url: config.base_url+'/app/appFile/uploadSign',   
                                            filePath: imgSrc,  
                                            header: {  
                                                'k': uni.getStorageSync('token'),  
                                            },  
                                            name: 'file',  
                                            formData:{},  
                                            success: (res) => {  
                                                console.log(res);  
                                                let fileRes = JSON.parse(res.data);  
                                                if(fileRes.success){  
                                                    this.fileId = fileRes.data; //获取到返回的fileid  
                                                    console.log( fileRes.data);  
                                                    // this.changeStatus() // 改变订单状态  
                                                }else{  
                                                     console.log("成功函数");  
                                                    uni.showToast({  
                                                        icon:"none",  
                                                        title:fileRes.msg || "网络不稳定,请重试!"  
                                                    })  
                                                }  
                                            },  
                                            fail:(res) => {  
                                                console.log(res)  
                                                // uni.hideLoading()  
                                                this.isClick = false; // 提交按钮可点击  
                                                uni.showToast({  
                                                    icon:"none",  
                                                    title:"网络不稳定,请重试!"  
                                                })  
                                            }  
                                        });  
                            })  
                        }

操作步骤:

线上环境均能复现

预期结果:

正常请求,收到后端的返回结果。

实际结果:

上传失败,后端没有请求。

bug描述:

使用 uni.uploadFile 函数上传签名文件至后端,本地环境,上传正常,切换线上地址,报错{ "errMsg": "uploadFile:fail statusCode: null" },后端未接收到请求。用Postman测试过,接口没问题。最诡异的是,本地环境下,前端连接本地,后端连接线上或本地,都能上传成功,一旦前端切换成线上地址,就报错且后端收不到请求。

2024-11-05 16:42 负责人:无 分享
已邀请:

要回复问题请先登录注册