Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Amazon ec2服务器上的Nodejs无法处理包含多部分/表单数据的POST请求_Node.js_Amazon Ec2_Multipart_Form Data_Enctype - Fatal编程技术网

Node.js Amazon ec2服务器上的Nodejs无法处理包含多部分/表单数据的POST请求

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

我真的需要帮助

当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:

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>