загрузка изображений в Cloudinary, которых нет на моем компьютере

#html #node.js #cloud #cloudinary

#HTML #node.js #облако #cloudinary

Вопрос:

Я пытаюсь загрузить изображения, выбранные из моей панели мониторинга, которую я создал, в Cloudinary с помощью nodejs. У меня возникли некоторые проблемы с этим, потому что мне нужно разрешить пользователям в основном выбирать любое изображение со своего компьютера и загружать его, без жесткого указания пути к папке, в которой оно будет находиться. То, как я его настроил прямо сейчас, позволяет мне выбирать файл с моего компьютера только по указанному пути. Мой интерфейс очень прост:

 <label for="image">SELECT IMAGE</label>
<input type="file" name="image" id="fileUploader" required/>
 

мой серверный сервер прямо из Cloudinary, с несколькими простыми изменениями, чтобы соответствовать моему существующему коду, который загружает URL изображения в DB2 (sql db):

 app.get('/addProducts', (req, res) => {
if (userAuth == 'true') {
    var path = require('path')

        // collected image from a user
        const data = {
            image: req.query.image,
          }
          console.log(data.image)
          // upload image here
          cloudinary.uploader.upload(data.image)
          .then((result) => {
              
              console.log(result.secure_url)
              
             (sql) ......
 

эта строка cloudinary.uploader.upload(data.image) приведет к появлению ошибки о том, что путь не найден. как только я помещаю это в строку кода cloudinary.uploader.upload('./public/css/img/ data.image) , это работает. Этого не может произойти, потому что, как я уже говорил, это не позволит любому пользователю выбрать изображение со своего локального компьютера и загрузить его.

спасибо за помощь.

Ответ №1:

Вы могли бы использовать грозный или Мультер и Express.js чтобы загрузить файл из локальной файловой системы и загрузить его в Cloudinary в Node. Вот сообщение в блоге, описывающее его поэтапно и использующее express / multer: https://cloudinary.com/blog/node_js_file_upload_to_a_local_server_or_to_the_cloud