#node.js #api #file #storage #multer
Вопрос:
Я хочу сохранить файл формы за пределами папки проекта. Для этого я начал использовать
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 уже находится в папке моего проекта. Существуют ли какие-либо методы доступа к пути из папки? Спасибо!
Комментарии:
1. Как уже много раз упоминалось в SO, вам просто нужно использовать путь (он включен в Node.js, нет необходимости устанавливать что-либо новое). В частности, метод Path.resolve() позволит вам «вставить» столько строк, сколько вам нужно, чтобы создать допустимый путь для хранения в вашей файловой системе.
2. Спасибо, это помогает. К сожалению, я не видел ваших предыдущих ответов.
Ответ №1:
Вы можете либо использовать ..
обозначение для перехода в одну папку, либо указать относительный корневой путь, который начинается с /
.
Допустим, вы хотите сохранить свои файлы в папке, расположенной по адресу /home/john/uploads
, в которой находится ваш проект /home/john/myproject
. Сработали бы оба следующих варианта:
destination: function (req, file, cb) {
cb(null, '/home/john/uploads');
// or
cb(null, '../uploads');
},