UPPY:如何获取失败上传返回的json数据

时间:2019-02-09 23:39:53

标签: javascript

我正在将Uppy javascript库与xhr插件一起使用来上传文件。 如何获得关于上传错误的响应数据?以下不提供从我的服务返回的json。文档here

uppy.on('upload-error', function (file, error) {
            console.log(error);
        });

2 个答案:

答案 0 :(得分:0)

uppy在upload-error事件的回调中采用三个值。因此,要获取状态,您可以执行以下操作

  uppy.on('upload-error', (file, error, response) => {
    const { name } = file;
    message.error(`Failed in uploading ${name}`);
    if (response.status === 413) {
      message.warning('Please check the file size');
    }
  });

答案 1 :(得分:0)

它可以作为XHR Upload插件的一个选项传递:

const XHRUpload = require('@uppy/xhr-upload')

uppy.use(XHRUpload, {
    endpoint: 'http://my-website.org/upload',
    getResponseError (responseText, response) {
        return new Error(JSON.parse(responseText).message)
    }
})

getResponseData()也一样:

const XHRUpload = require('@uppy/xhr-upload')

uppy.use(XHRUpload, {
    endpoint: 'http://my-website.org/upload',
    getResponseData (responseText, response) {
        return {
            url: responseText.match(/<Location>(.*?)<\/Location>/)[1]
        }
    }
})

在这里,我们仅在getResponseError()方法中显示来自JSON响应的错误消息,但是您当然可以使用响应执行几乎所有操作。