Nodejs / Express Save выберите аватар из веб-клиента и сохраните непосредственно в базу данных MySQL - PullRequest
0 голосов
/ 11 ноября 2018

Ищите здесь руководство. Я строю приложение Nodejs / Express с базой данных MySQL. Я хочу иметь возможность щелкнуть изображение пользователя на веб-странице (исходное изображение является общим), выбрать другое изображение и загрузить / сохранить новое изображение в базе данных MySQL. Я использую:

$('#file-input').trigger('click').change (function(){
        alert($('#file-input').val());
    })

Я получаю C: / fakepath ... для местоположения изображения. Я хотел бы, как загрузить / сохранить выбранное изображение в базу данных MySQL. Соединение с базой данных установлено, и маршруты для регулярных данных работают нормально.

1 Ответ

0 голосов
/ 11 ноября 2018

Прежде чем ответить на ваш вопрос, предложите вам не сохранять изображение в MySql или любую другую базу данных, использовать IPFS, локальную директорию / папку приложения или лучшую корзину AWS s3.

Вы можете использовать busboy.js модуль NPM или multer.js модуль NPM для загрузки файла на сервер, есть много веских причин, чтобы не сохранять какие-либо файлы в локальной базе данных .

Теперь вернемся к тому, как вы можете сохранить изображение в базе данных. Вы можете сделать это, сначала преобразовав свое изображение в формат данных, понятный MySql. По умолчанию изображение является двоичным, и в зависимости от выбранного изображения некоторые двоичные изображения настолько велики, что даже тип данных MySql text для них мал. Преобразование двоичного кода в шестнадцатеричное действительно помогает, но все еще слишком велико для типа данных MySql text. Также вам понадобится multipart/form-data для загрузки файла.

Вы можете легко найти "Как загрузить файл в nodeJs?" в поиске Google. Тем не менее, если вам нужен пример, вот один " Загрузить файл, используя multer.js "

...