24kycj
24kycj
  • 发布:2025-11-18 19:12
  • 更新:2025-11-18 19:41
  • 阅读:16

【报Bug】uni.uploadFile上传文件httpcode为204直接走fail方法,导致直接失败了

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.85

浏览器平台: Chrome

浏览器版本: 版本 142.0.7444.163(正式版本) (64 位)

项目创建方式: HBuilderX

App下载地址或H5⽹址: https://h5.langup.cn/pages/AI/file-picker?callback=uploadCloud

操作步骤:

之前我9月份的时候还是可以正常走success方法的。现在就不行了

预期结果:

希望可以204code走success方法

实际结果:

204code走fail方法

bug描述:

statusCode不应该为200+都算成功吗?

const uploadTask = uni.uploadFile({  
                    url: rootUrl,  
                    // H5: 传 file 字段(File 对象),不要用 filePath  
                    file: this.selectedFile.file,  
                    name: 'file',  
                    formData,  
                    success: (res) => {  
                        if (res.statusCode === 204 || res.statusCode === 200) {  
                            this.$refs.loadingPop && this.$refs.loadingPop.overMove(1)  
                            this.uploading = false  
                            uni.showToast({ title: '上传成功', icon: 'success', duration: 1200 })  
                            // 回传给小程序  
                            const payload = {  
                                type: 'fileUploaded',  
                                file: {  
                                    url: `${that.$UPLOAD_BASE}/${encodeURI(objectKey)}`,  
                                    name: baseName,  
                                    size: this.selectedFile.size,  
                                    type: this.selectedFile.type,  
                                    duration: this.selectedFile.duration  
                                }  
                            }  
                            try {  
                                if (jssdk && jssdk.miniProgram && jssdk.miniProgram.postMessage) {  
                                    jssdk.miniProgram.postMessage(payload)  
                                }  
                            } catch (e) {}  
                            // 兜底返回上页  
                            setTimeout(() => {  
                                try { jssdk && jssdk.miniProgram && jssdk.miniProgram.navigateBack && jssdk.miniProgram.navigateBack() } catch(_) {}  
                                try { uni.navigateBack() } catch(_) {}  
                                try { history.back() } catch(_) {}  
                            }, 300)  
                        } else {  
                            this.$refs.loadingPop && this.$refs.loadingPop.overMove(2)  
                            this.uploading = false  
                            uni.showToast({ title: '上传失败:' + res.statusCode, icon: 'none' })  
                        }  
                    },  
                    fail: (err) => {  
                        this.$refs.loadingPop && this.$refs.loadingPop.overMove(2)  
                        this.uploading = false  
                        uni.showToast({ title: '上传失败', icon: 'none' })  
                    }  
                })  
                uploadTask.onProgressUpdate((res) => {  
                    this.$refs.loadingPop && this.$refs.loadingPop.updateProgress(res.progress)  
                })
2025-11-18 19:12 负责人:无 分享
已邀请:
DCloud_UNI_JBB

DCloud_UNI_JBB

要回复问题请先登录注册