0

开发和测试环境:

  • 视窗 8 64 位
  • 安装的节点版本 0.10.5
  • npm 版本 1.2.18
  • 表达框架
  • 用于文件上传的强大模块
  • Firefox 和 Internet Explorer 浏览器

HTML 代码:

<form id="caricaMasterImg" method="post" enctype="multipart/form-data" action="/image/upload"> 
    <input type="file" id="masterImg" name="masterImg" value="Sfoglia" accept="image/*"/>
    <input type="submit" value="carica" id="submitLoadImg" />
</form>

app.js 代码:

var image = require('./route/image');
app.post('/image/upload', image.upload);

路线/image.js 代码:

exports.upload = function(req, res){
    var form = new formidable.IncomingForm();
    form.uploadDir =  path.join(__dirname, 'tmp');
    console.log('Upload directory is: '+form.uploadDir);
    fs.exists(form.uploadDir, function (exists) {
        console.log('is an existing directory? '+exists);
    });
    form.parse(req, function(err, fields, files) {
        console.log(fields);
        console.log(files);
    }); 
};

问题:

单击提交按钮时,我希望看到使用 console.log(files) 指令记录的文件。日志写道:

上传目录是:C:\Liber-I\app\FileSystemManager\routes\tmp 是现有目录吗?真的

几分钟内没有更多的日志被写入应用程序控制台。我测试了无文件提交的情况,似乎它的行为相同!成为nodejs问题的行为太奇怪了,我在哪里做错了?

4

1 回答 1

0

我想我没有做错什么。事实是我无法解决这个问题,所以我决定解决这个问题。我选择使用connect-multiparty进行文件上传,效果很好

于 2014-10-10T06:06:04.130 回答