Как динамически изменять параметры маршрутов для формы публикации файла?

#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 . Также будет лучше, если вы поделитесь с нами своей ошибкой.