你好,谢谢你能提供的任何帮助。我使用C9.io,节点,快递,穆特,网格流。我得到了:
/home/ubuntu/workspace/node_modules/multer/index.js:25
mkdirp(dest, function(err) { if (err) throw err; });
Error: EACCES, mkdir '/uploads'我运行server.js脚本,这就是我得到的错误。我相信这与权限有关,但我已经尝试过chown的公用文件夹和chmod ax,对于该怎么办,你们还有其他的建议吗?还是会犯同样的错误。我的代码是server.js
app.use('/uploads', express.static(__dirname + '/public/uploads'));
app.use(multer({dest: '/uploads/'}));
app.use(methodOverride());
app.get('/form',function (req,res){
res.render('form');
});
app.get('/api/taxis', function(req,res){
taxiModel.Taxi.find({}).exec(function(error,collection){
res.send(collection);
});
});
// app.get('user/:name', function(req,res){
// taxiModel.Taxi.find({name:req.param.nmae},function(err,docs){
// if(err)res.json(err);
// else res.render();
// }
// });
app.get('*', function (req,res){
res.render('index');
});
app.post('/new',function(req,res){
var dirname = require('path').dirname(__dirname);
var filename = req.files.dnimgfront.name;
var path = req.files.dnimgfront.path;
var type = req.files.dnimgfront.mimetype;
var gfs = Grid(conn.db);
var read_stream = fs.createReadStream(dirname + '/' + path);
var writestream = gfs.createWriteStream({filename: filename});
read_stream.pipe(writestream);
});
mongoose.connect('mongodb://jsrosas:12345@ds031721.mongolab.com:31721/taxis');
var conn=mongoose.connection;
conn.once('open', function(){
console.log('connected to mongodb succesfully!');
});
app.listen(process.env.PORT, process.env.IP);发布于 2015-08-25 19:11:46
你想过这事吗?我也得到了EAccess错误。
为了解决这个问题,我做了以下工作。
我必须确保包含了path = require('path'),也不确定您的问题与Multer版本相比有多长时间,但是在1.0.3版中,您必须使用multer = require('multer'),然后在upload = multer()下面,这也是您在配置信息中的位置。
你的下场是
var multer = require('multer'),
/*some config stuff for multer*/
Limits = { fileSize: 10 * 1024 * 1024, files:1 };
/* specify one file so ppl can't flood the server with infinite file
uploads or make it what you want but don't just leave it. Alternately
you can write the config stuff like the dest: value below. */
/*pass multer the configuration information and/or set config information*/
var upload = multer({dest: path.join(__dirname+'/uploads'),
limits: Limits
});那app.post就像
app.post('/uploads', upload, function(req,res){
// expose req.file to a variable or do some process by which you send it to your database.
})希望这能有所帮助。
https://stackoverflow.com/questions/27973510
复制相似问题