前端代码:
let formData = new FormData();
formData.append('upload', file.files[0]);
...
xhr.send(formData)
后端代码:用formidable这个npm包是可以正常接收到的
我上面那样写是可以正常传输的,问题是:
我前端用Blob的形式传输数据时,后端就不能接收了,请问我后端该怎么写呢?类似这个同学遇到的问题:类似问题,谢谢各位!
前端Blob形式传输代码:
function upload(blobOrFile) {
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload');
xhr.onload = function (e) {
console.log("test...");
};
xhr.send(blobOrFile);
}
document.querySelector('input[type="file"]').addEventListener('change', function (e) {
let data = this.files[0];
upload( new Blob([data]) );
}, false);
后端报错信息:
Error: bad content-type header, no content-type
at IncomingForm._parseContentType (C:\Users\Kang\Desktop\upload-component\node_modules\_formidable@1.2.1@formidable\lib\incoming_form.js:260:17)
formData的话,后端需要按照multipart/form-data来解析
直接blob的话,直接接收就好了