gpt4 book ai didi

javascript - 如何使用纯 node.js 上传文件?

转载 作者:行者123 更新时间:2023-11-29 18:09:02 24 4
gpt4 key购买 nike

我有一个带有表单的网页,该表单有一个文件输入,当我提交表单时,我希望服务器将其写入文件服务器端。

我已经尝试使用此表单上传多张测试图片,到目前为止,每张图片都是包含原始文件文件名的纯文本文件。除了“使用 Express!”、“使用这个!”、“使用那个!”、“使用其他东西!”之外,我没有找到关于如何在网上执行此操作的好信息或示例。这非常令人恼火。

最佳答案

我同意 Tomalak 在评论中所说的;您试图单独使用 Node 而没有库来解决的问题并非微不足道,并且需要对多种不同技术有相当透彻的了解。

也就是说,我会帮助您入门,希望这将成为阅读执行此操作的模块的源代码的良好起点。

只使用 Node,这是一个最小的服务器,它将把任何请求的主体记录到控制台(我建议向它发送一个大文件,或者一个二进制文件...开始带有文本文件):

var http = require('http');

var server = http.createServer(function(req, res) {
if(req.url === '/favicon.ico') return res.statusCode = 404, res.end();
console.log(req.method + ' ' + req.url);
var data = '';
req.on('data', function(chunk) {
data += chunk;
});
req.on('end', function() {
console.log(data);
});
res.end('done');
});

server.listen(3000, function() {
console.log('listening on 3000');
});

然后您可以创建一个 HTML 表单来连接它:

<!doctype html>
<html>
<head>
</head>
<body>
<form action="http://localhost:3000" method="POST" enctype="multipart/form-data">
<input type="file" name="f">
<input type="submit">
</form>
</body>
</html>

解析 multipart/form-data 不是一项简单的任务,但您可以从阅读此处的文档开始:

http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4

如果您想查看某人对multipart/form-data 解析器的实现,这个非常可靠:

https://www.npmjs.com/package/dicer

关于javascript - 如何使用纯 node.js 上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29184449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com