前端上传非FormData格式的文件,node怎么接收处理 - CNode技术社区

前端上传非FormData格式的文件,node怎么接收处理
发布于 7 年前 作者 edisonchan97 4464 次浏览 来自 问答

最近遇到一个需求,大文件上传,一开始使用FormData的格式上传,后台(go大佬)嫌弃解释时间太长,要求换成 octet-stream的格式?! 我懵了许久,以前一直没听说过啊,在网上也没有查到能帮助的资料,然后前端各种修改,最终以前端获取到的 File 对象,直接丢到

$.ajax({
	data:File,
	contentType:flase,
	processData:false
	}) 

然后后台接受到了,速度还挺快。然后我就想使用node来实现一波后台,然后发现用原生的node使用post接受chunk的形式不好使,mutler也不好使,所以请教一下各位有没有这方面的经验或者建议指导学习一下!!!

5 回复

上传的什么格式的文件?

我最近也遇到这个需求,使用的是file,然后append 到 formData 中,也是用的 $.ajax,我的文件小,没啥问题

我猜应该是直接HTTP的请求体部分就是文件内容,下面是一份我两年前做微信支付回调时写的代码,在express中直接用,你改改代码试试看 当时用的express是4.15.2

async function readAll(req: Request) {
 return new Promise<string>(function (resolve, reject) {
 const datas: Buffer[] = [];
 req.on('data', function (data) {
 if (Buffer.isBuffer(data)) {
 datas.push(data);
 } else {
 datas.push(Buffer.from(data));
 }
 });
 req.on('end', function () {
 const str = Buffer.concat(datas).toString();
 resolve(str);
 });
 req.on('error', function (err) {
 reject(err);
 });
 });
}

@weiketa 文件时什么格式,他就会显示什么格式

回到顶部

AltStyle によって変換されたページ (->オリジナル) /