Node.js Amazon ec2服务器上的Nodejs无法处理包含多部分/表单数据的POST请求
我真的需要帮助 当enctype=“multipart/form data”浏览器挂起时,Nodejs无法接收POST请求。。并没有响应,什么也并没有发生,然后超时(稍后可以在服务器上指定的文件夹中找到名为哈希字符串的文件)。代码在本地进行了测试,在那里工作正常 请求信息(来自Google Chrome网络标签) 标题:内容类型:多部分/表单数据 有效负载:内容处置:表单数据;name=“file”;filename=“1\u leaf\u music.png” 响应:空 使用其他enctype“application/x-www-form-urlencoded”的POST请求可以正常工作,正如它应该的那样,只有在“multipart/form data”时才会挂起 安装在AmazonEC2虚拟服务器上,其他一切正常 示例>挂起回调>app.post('/form file',…>console.log从不跟踪 app.js:Node.js Amazon ec2服务器上的Nodejs无法处理包含多部分/表单数据的POST请求,node.js,amazon-ec2,multipart,form-data,enctype,Node.js,Amazon Ec2,Multipart,Form Data,Enctype,我真的需要帮助 当enctype=“multipart/form data”浏览器挂起时,Nodejs无法接收POST请求。。并没有响应,什么也并没有发生,然后超时(稍后可以在服务器上指定的文件夹中找到名为哈希字符串的文件)。代码在本地进行了测试,在那里工作正常 请求信息(来自Google Chrome网络标签) 标题:内容类型:多部分/表单数据 有效负载:内容处置:表单数据;name=“file”;filename=“1\u leaf\u music.png” 响应:空 使用其他enctype
var http = require('http');
var express = require('express');
var path = require('path');
var app = express();
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.bodyParser({uploadDir:__dirname + '/public/uploads'}));
app.use(express.methodOverride());
app.use(express.static(path.join(__dirname, 'public')));
});
app.get('/', function(req, res, next) {
console.log('get:/');
res.render('index', { title: 'Upload a single file (using Express BodyParser()) ' })
});
app.post('/form-file', function(req, res, next) {
console.log("multipart/form-data recived... file recived: ",req.files.file.name);
res.send("multipart/form-data recived... file recived: " + req.files.file.name);
});
app.post('/form-text', function(req, res, next) {
console.log("application/x-www-form-urlencoded: txt: ",req.body.txt);
res.send("application/x-www-form-urlencoded... txt: " + req.body.txt);
});
var port = 8001;
http.createServer(app).listen(port, function() {
console.log("Express server listening on port " + port);
});
视图:
amazon服务器上的相同代码生命周期:
更新:
模块bodyParser中存在问题。如果将其删除,节点将按预期触发响应。您的文件系统权限设置正确吗?
节点
进程是否可以写入上载目录?使用forever…(永久…)保持服务器运行时出现类似问题。这是可能的原因吗?节点可以创建文件、读写和测试不知何故得到了错误,而不是挂起事件。js:69抛出参数[1];//未处理的“错误”事件^error:WriteStream处的数据无效。_write(fs.js:1618:31)WriteStream.Writeable.write(_stream_writeable.js:155:8)WriteStream.Writeable.end(_stream_writeable.js:278:10)
<code>
form(method="post", name="f", action="/form-file", enctype="multipart/form-data")
fieldset
legend Upload a File
input(type="file", name="file")
div.actions
button.btn.primary(type="submit") Upload
button.btn.cancel(type="button") Cancel
</code>