我想弄清楚如何找到我上传到节点应用程序的文件大小。
这个问题的目的只是为了扩展我的知识。没有实际问题,只需要自己做点什么。
我的工作设置:
我发送文件(图片)。它被编码为multipart / form-data。在我的节点控制器中,我使用了工作良好的multiparty库。我这样使用它(示例不工作代码):
let form = new multiparty.Form();
form.on('part', function (part) {
//part contains the size of the file that is being sent.
});
form.parse(request);
Part 对象包含有关上传的所有信息。我理解它的方式,多方库从标题中获取信息,并为我解析它。
我的问题是,如何在不使用任何其他库的情况下手动执行此操作?只需处理原始请求对象及其标题。
首先,至少要获取文件大小。如果我愿意(或有时间)从文件中获取其他值。
我的问题可能听起来很简单,但可能不是:)
答案 0 :(得分:1)
你错过了论点:
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end(util.inspect({fields: fields, files: files}));
});
我相信,文件数组 - 每个都有你正在寻找的文件信息。