Node.js ';节点强大';使用Express framework时出现文件上载问题
我试图执行文件上传使用强大的模块。我遵循了他们的示例,效果很好,当我使用express模块执行相同的操作时,我无法让它工作。在我在POST/上传中保存的日志之后,它就在那里 这是示例的链接。 我认为这与“uploadDir”值有关。 我已将当前目录(“/”)指定为要表达的Node.js ';节点强大';使用Express framework时出现文件上载问题,node.js,formidable,Node.js,Formidable,我试图执行文件上传使用强大的模块。我遵循了他们的示例,效果很好,当我使用express模块执行相同的操作时,我无法让它工作。在我在POST/上传中保存的日志之后,它就在那里 这是示例的链接。 我认为这与“uploadDir”值有关。 我已将当前目录(“/”)指定为要表达的目录查找,并且我希望上载的文件出现在当前目录中的文件文件夹中,从该文件夹中运行节点。Donno它卡在哪里了?感谢您的帮助。。。!!谢谢 var formidable = require('formidable'), http
目录查找
,并且我希望上载的文件出现在当前目录中的文件
文件夹中,从该文件夹中运行节点。Donno它卡在哪里了?感谢您的帮助。。。!!谢谢
var formidable = require('formidable'),
http = require('http'),
util = require('util');
connectTimeout = require('connect-timeout');
mongoose = require('mongoose');
express = require('express');
app = express();
server = http.createServer(app);
server.listen(4000);
app.configure(function(){
app.set('views', __dirname + '/views');
app.use(express.favicon());
app.use(connectTimeout({ time: 20000 }));
app.use(express.methodOverride());
app.use(express.bodyParser());
app.use(express.static(__dirname + '/'));
});
app.get('/',function(req, res) {
res.writeHead(200, {'content-type': 'text/html'});
res.end(
'<form action="/upload" enctype="multipart/form-data" method="post">'+
'<input type="text" name="title"><br>'+
'<input type="file" name="upload" multiple="multiple"><br>'+
'<input type="submit" value="Upload">'+
'</form>'
);
});
app.post('/upload', function(req,res) {
console.log(" ########## POST /uplaod ####### "+ req.files+" :: "+__dirname);
var form = new formidable.IncomingForm(),
files = [],
fields = [];
form.uploadDir = __dirname+"/files";
form.on('field', function(field, value) {
fields.push([field, value]);
})
form.on('file', function(field, file) {
console.log(file.name);
files.push([field, file]);
})
form.on('end', function() {
console.log('done');
res.redirect('/forms');
});
form.parse(req);
});
var-leverable=require('leverable'),
http=require('http'),
util=require('util');
connectTimeout=require('connect-timeout');
猫鼬=需要(“猫鼬”);
express=需要(“express”);
app=express();
server=http.createServer(app);
服务器监听(4000);
app.configure(函数(){
app.set('views','u dirname+'/views');
app.use(express.favicon());
使用(connectTimeout({time:20000}));
app.use(express.methodOverride());
app.use(express.bodyParser());
应用程序使用(express.static(u dirname+'/');
});
app.get('/',函数(req,res){
res.writeHead(200,{'content-type':'text/html'});
res.end(
''+
“
”+
“
”+
''+
''
);
});
app.post('/upload',函数(req,res){
console.log(“####################+请求文件+”:::“+#目录名);
var form=new.IncomingForm(),
文件=[],
字段=[];
form.uploadDir=\uuuu dirname+“/files”;
表单.on('field',函数(field,value){
fields.push([field,value]);
})
表单.on('file',函数(字段,文件){
console.log(文件名);
push([field,file]);
})
关于('end',function()的表单{
console.log('done');
res.redirect('/forms');
});
form.parse(req);
});
您需要注释express.bodyParser()
才能使其正常工作。;) 当我在这个项目中阅读自述时,我找到了解决方案。我需要注释express.bodyParser()
才能使它正常工作。