- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有表单的网页,该表单有一个文件输入,当我提交表单时,我希望服务器将其写入文件服务器端。
我已经尝试使用此表单上传多张测试图片,到目前为止,每张图片都是包含原始文件文件名的纯文本文件。除了“使用 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
解析器的实现,这个非常可靠:
关于javascript - 如何使用纯 node.js 上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29184449/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!