Node后端如何接受前端上传的Blob形式的数据呢
前端代码:
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)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
formData的话,后端需要按照multipart/form-data来解析
直接blob的话,直接接收就好了
formData用formidable可以接受的,直接接收怎么接受呢?
后端可以创建一个可写流,通过管道来获取: