决定Multer中间件的上传文件夹位置
所有:
我是Express.js的新手,当我用Multer( https://github.com/expressjs/multer )处理file upload时,我指定了一个multer中间件对象:
var upload = multer({dest: 'uploads/'});
但有一点让我困惑的是:无论我在哪里把这行代码(无论是在子路由器文件,或app.js),它总是创build“上传”文件夹项目根目录下(app.js,视图,路由,公共…位置),即使我将其更改为“./uploads/”,它仍然会在项目根目录下创build上传文件夹。
这让我很困惑,因为当我将它与require()函数进行比较时,似乎require()使用的相对path是基于调用它的位置而multer不是? 我想知道我的理解是否正确? 如果我的正确,如何将其更改为相对?
谢谢
您始终可以指定绝对path(即相对于当前模块)以消除任何疑问:
var upload = multer({dest: __dirname + '/uploads/'});
它似乎是基于path.resolve()
的值。 path被定义为var path = require('path')
。
- 使用mongoose将embedded文档的多个实例保存到我的模型中
- 我怎样才能服务的HTML,CSS和JS全部保持路由在一个module.export在不同的文件? 现在只有html服务
- Supertest不返回结果,节点实例不退出
- find文档,并使用Node.JS Mongoose将值插入MongoDB中的数组
- 在浏览器中使用node.js,MySQL和Jade显示数据库内容
- GET请求在客户端到服务器给出错误没有'Access-Control-Allow-Origin'
- 了解Node中的非阻塞IO
- 使用Passport在Express中传递参数
- ResourceJS:创build嵌套的REST接口w / Mongoose模式+子子文档?