Как сохранить изображение в базе данных, и как его достать обратно

168
08 декабря 2019, 04:10

Имеется код для отправки файла на сервер

handleChange(e) {
        const that = this;
        e.preventDefault();
        const url = location.pathname+location.search;
        const image = this.fileInput.current.files[0];
        const reader = new FileReader();
        reader.onload = () => {
            fetch(url, {
                method: 'POST',
                body: reader.result
            }).then((res) => {
                if (res.ok) {
                    return res.arrayBuffer();
                }
            }).then((buffer) => {
                var blob = new Blob(buffer, {type: 'application/octet-stream'});
                console.log(blob);
                var url = URL.createObjectURL(blob);
                console.log(url);
            })
        }
        reader.readAsArrayBuffer(image)
    }

И его обработчик на сервере

const user_profile_update = (req, res) => {
    let body;
    req.on('data', (chunk) => {
        body = Buffer.from(chunk);
    });
    req.on('end', () => {
        q = User.where({login: req.query.q});
        q.updateOne({image: body}, (err, result) => {
            if (err) console.error(err);
            res.status(200).send(body);
        })
    });
}

В БД он хранится в виде Buffer. Как мне buffer преобразовать назад в изображение? Или как сделать правильно отправку изображений на сервер

READ ALSO
Запрос на исправление ошибки в тексте

Запрос на исправление ошибки в тексте

Требуется найти готовый сервисРеализация может быть как для Angular (TypeScript), так и обычный JS модуль

183
Как использовать JS библиотеки без NodeJS

Как использовать JS библиотеки без NodeJS

В настоящее время, куда не глянь, любая полезная библиотека подключается к проекту npm install

197
Проверить на наличие li в ul

Проверить на наличие li в ul

Я пытаюсь сделать таймер на JS, и сейчас я пытаюсь сделать добавление таймераЯ хочу сделать, чтобы перед добавлением элемента, шла проверка...

167
Сохранить секретный ключ в Web приложении

Сохранить секретный ключ в Web приложении

Вопрос в общем звучит так : как организовать end-to-end шифрование в Web приложении а конкретно - как хранить секретный ключ на стороне клиента?...

179