我正在将Uppy javascript库与xhr插件一起使用来上传文件。 如何获得关于上传错误的响应数据?以下不提供从我的服务返回的json。文档here
uppy.on('upload-error', function (file, error) {
console.log(error);
});
答案 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响应的错误消息,但是您当然可以使用响应执行几乎所有操作。