node.js - 根据 api post 调用上传文件不同的目的地
问题描述
我是 Express js 的新手。我有两个上传按钮和两个单独的后调用来上传文件。我想根据 api 调用将文件上传到不同的位置。
第一篇 api 是 /app/upload1 第二篇 api 是 /app/upload2
我有带有磁盘存储的 multer 对象。
var storage = multer.diskStorage(
{
destination: (req, file, cb) => {
cb(null, FILE_PATH},
filename: (req, file, cb) => {
cb(null, file.originalname)
}
}
目前,文件存储在全局路径中。
我想更改 multer 以便:使用 api 调用/app/upload1 - 文件应存储在 upload1 目录中和使用 api 调用/app/upload2 - 文件应存储在 upload2 目录中
有人可以在这里帮忙吗。
解决方案
使用 options destination 设置要保存的目录:
var storage1 = multer.diskStorage(
{
destination: (req, file, cb) => {
cb(null, '/upload1'},
filename: (req, file, cb) => {
cb(null, file.originalname)
}
}
var upload1 = multer({ storage: storage1 })
app.post('/app/upload1', upload1, function (req, res, next) {
// todo
})
// var storage 2 = ...
// var upload2 = multer({ storage: storage2 })
参考链接。
谢谢。
推荐阅读
- angular - SyntaxError:意外的令牌“导出”(d3zoom)
- c - 我最后的提示回答了自己。我该怎么办?
- django - 在 Django 中,如何使用当前的 detailview 对象初始化表单?
- apache-spark - 为什么我的胶水表创建路径错误?
- android - VLC for Amazon Fire:从源代码编译
- python - 当 main() 函数没有调用/执行其他函数时该怎么办?
- python - 如何在 github.io 上运行 python 文件
- database - 为什么iotdb zeppelin-interpreter jar 不包含依赖包?
- r - FUN 中的错误(左,右):二元运算符的非数字参数
- vbscript - VBScript 上的多行文本?