#node.js #express #multer #express-handlebars #aws-sdk-nodejs
Вопрос:
У меня есть проект, в котором я загружаю изображения в корзину aws s3 с помощью nodejs multer и aws-sdk
вот как происходит процесс загрузки изображения домой.руль
<form action="/user/upload-image" method="post" enctype="multipart/form-data">
<input type="file" name="avatar" class="inputField"/><br>
<input type="submit" name="Submit" class="btn"/>
</form>
Эта форма вызывает следующий API
imageRoute.js
router.post('/user/upload-image', upload.single('avatar'), uploads);
imageController.js
exports.uploads = async (req, res) => {
try {
const file = req.file;
// const des = req.body.description;
const userID = '604f3077e0f216a27c862677'; // here is the issue
const result = await uploadFile(file); // this line uploads to aws s3
}catch(e){console.log(e)}
}
в настоящее время, как вы можете видеть, я беру идентификатор пользователя вручную, но я хочу отправить его в параметрах в почтовом запросе примерно так
<form action="/user/upload-image/{{userID}}" method="post" enctype="multipart/form-data">
router.post('/user/upload-image/:userID', upload.single('avatar'), uploads);
и у меня есть идентификатор пользователя в моем хранилище сеансов, как мне этого добиться, если я использую что-то вроде ajax для вызова api, то я не получаю загруженный файл, и он выдает ошибку.
Комментарии:
1. Ваш код должен работать. Попробуйте проверить,
form action
действительно ли он указывает на правильный маршрутURL
. Также будет лучше, если вы поделитесь с нами своей ошибкой.