uni-app 手机端使用 plus.uploader.createUpload 获取不到后端返回的报错信息

uni-app 手机端使用 plus.uploader.createUpload 获取不到后端返回的报错信息

3 回复

提供一个可以复现问题的代码和操作步骤。

更多关于uni-app 手机端使用 plus.uploader.createUpload 获取不到后端返回的报错信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html


就是这个task.addFile(imgPath, {key: “imgName”}); imgPath是要那种file:///storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/doc/1654758510057.jpg还是_doc/1654758510057.jpg,我的上传图片返回的status是个null是咋回事

在 uni-app 中使用 plus.uploader.createUpload 时,如果后端返回了错误状态码(如 4xx、5xx),默认情况下 onstatechanged 回调中的 responseText 可能为空或无法获取完整错误信息。这是因为 plus.uploader 模块在 HTTP 错误响应时可能不会自动捕获响应体。

解决方案:

  1. 检查后端返回格式:确保后端在错误时返回了 JSON 或文本响应体,且 Content-Type 头部正确。
  2. 手动捕获响应数据:在 onstatechanged 回调中,通过 upload.responseTextupload.response 获取数据,但需注意在错误状态下可能需要额外处理:
    let uploadTask = plus.uploader.createUpload(url, {
        method: 'POST'
    }, function (upload, status) {
        if (status == 200) {
            console.log('成功:', upload.responseText);
        } else {
            // 尝试获取错误信息
            console.log('错误状态码:', status);
            console.log('错误响应:', upload.responseText || '无响应体');
        }
    });
回到顶部