Нашел этого парня с похожим вопросом: Обрабатывать пункт назначения для маршрута в nodejs с пакетом multer
Нет ответа для него, 4 месяца спустя, поэтому я надеюсь, что у меня есть Удачи!
Я использую multer-storage-cloudinary для загрузки файлов непосредственно в cloudinary без использования временного локального хранилища, и мне нужно потенциально изменить папку, в которой файл собирается для каждого маршрута .
Документация для multer-storage-cloudinary оставляет желать лучшего, касательно настройки функции для установки папки. Он приводит пример, но не говорит о том, что делает обратный вызов, что / как возвращается, каковы ожидаемые аргументы и т. Д. c: https://www.npmjs.com/package/multer-storage-cloudinary
кажется , что вторым аргументом в обратном вызове, вызываемом в конце функции, является то, что будет возвращено / установлено в качестве папки в Cloudinary - это правильно?
Так, например, если бы я делал это с помощью формы:
<form action="/location" method="POST" enctype="multipart/form-data">
<input type="file" name="image">
<input type="text" value="abcd" name="companyId" hidden>
<input type="text" value="1234" name="locationId" hidden>
<button type="submit">Submit</button>
</form>
И это в настройке multer-storage-cloudinary (при условии, что все остальное уже настроено на использование cloudinary) :
const storage = cloudinaryStorage({
cloudinary: cloudinary,
folder: function(req, file, callback) {
let path;
if(req.body.companyId && req.body.locationId) {
path = `/my-project/${req.body.companyId}/${req.body.locationId}`;
} else {
path = '/my-project/uncategorized';
}
callback(undefined, path);
}
});
Это установит папку, в которую загружается файл, как '/my-project/abcd/1234'
?