【问题标题】:How to store data with multer outside of the project folder?如何在项目文件夹之外使用 multer 存储数据?
【发布时间】:2021-06-01 22:35:36
【问题描述】:

我想在项目文件夹之外保存一个表单文件。为此我开始使用

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null,  __dirname + 'uploads')
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now())
  }
})

但是 __dirname 已经在我的项目文件夹中。是否有任何方法可以访问文件夹外的路径?谢谢!

【问题讨论】:

  • 正如之前在 SO 中多次提到的,您只需要使用 Path(它包含在 Node.js 中,无需安装任何新内容)。具体来说,Path.resolve() 方法可以让你“粘贴”尽可能多的字符串,以便创建一个有效的路径来存储在你的文件系统中。
  • 谢谢,这有帮助。很遗憾,我没有看到您之前的答案。

标签: node.js api file storage multer


【解决方案1】:

您可以使用.. 表示法向上一个文件夹,或指定以/ 开头的根相对路径。

假设您要将文件保存在位于/home/john/uploads 的文件夹中,并且您的项目位于/home/john/myproject 中。以下两种方法都可以:

destination: function (req, file, cb) {
  cb(null,  '/home/john/uploads');
  // or
  cb(null,  '../uploads');
},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 2015-01-13
    • 2019-06-08
    • 1970-01-01
    • 2020-05-29
    相关资源
    最近更新 更多