在NodeJs中上传文件时动态设置上传目录

时间:2018-01-03 15:52:05

标签: node.js rest file-upload multer

我是NodeJS的新手,我创建了一个将图像上传到共享位置的服务。但是,我需要根据用户ID动态设置上传文件夹:例如,该文件夹将是/ uploads / {userid} /file.txt

我不知道怎么做,今天我一直在寻找没有运气。

NodeJS服务如下:

var express = require('express')
var multer = require('multer')

var Storage = multer.diskStorage({
destination: function (req, file, callback) {
    callback(null, "./Uploads");
},
filename: function (req, file, callback) {
    callback(null, file.fieldname + "_" + Date.now() + "_" + 
             file.originalname);
     }
}); 

var upload = multer({ Storage: Storage })

var app = express()


app.post('/upload', upload.array('uploads[]', 12), function (req, res, next) 
{
     return res.end("Files uploaded sucessfully!.");
})

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

试试这个

app.use(multer({
  dest: './uploads/',
  "rename" : function (fieldname, filename, req, res) {
    return path.join(fieldname, req.params.user_id+".txt");
  }
})