multipart / form-data – 手动获取文件信息

我想弄清楚如何find我上传到我的节点应用程序的文件的大小。

这个问题的目的只是为了扩展我的知识。 没有实际的问题,只需要我自己做点什么。

我的工作设置:

我发送一个文件(图片)。 它被编码为多部分/表单数据。 在我的节点控制器中,我使用了很好的多方库。 我这样使用它(示例不工作代码):

let form = new multiparty.Form(); form.on('part', function (part) { //part contains the size of the file that is being sent. }); form.parse(request); 

部分对象包含有关上传的所有信息。 我的理解是,多方图书馆从头文件中获取信息,并为我parsing。

我的问题是,我怎么能手动做到这一点,而不使用任何其他库? 只需处理原始请求对象及其头文件。

对于初学者来说,至less得到文件大小。 如果我愿意(或有时间)从文件中获取其他值。

我的问题听起来很简单,但可能不是:)

你错过了参数:

 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})); }); 

我相信,文件数组 – 每个文件都会有你想要的信息。