Получить полный путь к файлу в node.js с помощью модуля express-busboy

Я использую node.js и express-busboy для загрузки файла из формы ввода файла на сервер. Загруженный файл будет иметь путь вроде root/useruploaded/formattached/somerandomid(e.g. 9w470066-68b4-549e-9607-1987c72768ac)/myFileInputName/uploaded.file

Мои настройки экспресс-автобуса выглядят так:

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

Затем, когда я получаю доступ к файлу, выполняя req.files.contactFileUpload.filename, я могу успешно получить имя загруженного файла.

Однако, когда я собираюсь прикрепить этот файл к моему электронному письму, мне нужен путь, который я не могу понять, как его получить из-за случайной папки с идентификатором, в которую официант помещает загруженный пользователем контент. В противном случае я мог бы сделать что-то вроде

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

Чтобы получить путь.

Мой вопрос в том, как я могу

Запретить помощнику официанта помещать мои файлы в папку со случайным идентификатором?

ИЛИ

Получить полный путь к файлу?

Я пытался сделать req.files.contactFileUpload.path, но это возвращает значение undefined.

Заранее спасибо!


person sdr981    schedule 22.08.2017    source источник


Ответы (1)


Вы можете просто получить доступ к пути загруженного файла в свойстве file возвращаемого объекта.

В вашем случае, чтобы получить путь к файлу, вам нужно сделать:

req.files.contactFileUpload.file
person Zagonine    schedule 22.08.2017