从多部分本机保存文件的 Node.js

Node.js saving file from multipart native

提问人:user3075373 提问时间:7/17/2015 更新时间:7/17/2015 访问量:1183

问:

我有一个问题:如何在没有busboy等模块的情况下将multipart / form-data中的文件保存在本机节点.js中?

我有一个简单的表格:

<form action="/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file1">
    <button type="submit">Upload</button>
</form>

和:

app.post('/upload', function(req, res) {
    req.on('data', function(chunk) {
        console.log(chunk.toString());
    });
})

chunk 返回了以下内容:

------WebKitFormBoundaryCAtgaK18LJANVeUL
Content-Disposition: form-data; name="file1"; filename="somefile.txt"
Content-Type: text/plain

Some content from txt file... blablabla...
------WebKitFormBoundaryCAtgaK18LJANVeUL--

我怎样才能把它保存为一个文件?从中创建上传文件系统的最佳方法是什么?

节点 .js 表单 文件 上传 分段

评论

0赞 mscdex 7/18/2015
为什么需要避免使用像这样的模块?你真的想实现自己的多部分解析器吗?busboy
0赞 Plato 7/18/2015
IMO,避免使用库的唯一充分理由是“他们没有做我需要的”和“我想学习如何做”。在这两种情况下,我都建议阅读库的源代码(例如,formidablenode-multiparty)
0赞 mscdex 7/20/2015
我还应该补充一点,使用第三方模块并编写自己的多部分解析器是唯一的解决方案,因为 node.js 中没有内置的多部分解析器。

答: 暂无答案