使用模块 express-busboy 获取 node.js 中文件的完整路径

Get full path of file in node.js with module express-busboy

我正在使用 node.js 和 express-busboy 将文件从文件输入表单上传到服务器。上传文件的路径类似于 root/useruploaded/formattached/somerandomid(e.g. 9w470066-68b4-549e-9607-1987c72768ac)/myFileInputName/uploaded.file

我的 express-busboy 设置如下所示:

bb.extend(app, {
  upload: true,
  path: path.join(__dirname, '/useruploaded/formattached'),
  allowedPath: /^\/contact$/ // <-- My POST
});

然后当我通过 req.files.contactFileUpload.filename 访问文件时,我可以成功获取上传文件的名称。

但是,当我将此文件附加到我的电子邮件时,我需要路径,我不知道如何获取该路径,因为 busboy 将用户上传的内容放入其中的随机 ID 文件夹。否则我可以做类似

的事情
path = path.join(__dirname, '/useruploaded/formattached', req.files.contactFileUpload.filename);

获取路径。

我的问题是我怎样才能

阻止 busboy 将我的文件放入随机 ID 文件夹中?

获取文件的完整路径?

我试过 req.files.contactFileUpload.path,但是这个 returns 未定义。

提前致谢!

您可以直接在返回对象的属性 file处访问上传的文件路径。

在您的情况下,为了获取文件路径,您必须执行以下操作:

req.files.contactFileUpload.file