Base64 BLOB-изображение Кодировать / декодировать Express Конечная точка INSERT MySQL - PullRequest
0 голосов
/ 07 апреля 2020

Я хочу взять изображение из формы в html и кодировать в BLOB-объект и вставить в базу данных mysql и конечную точку express.

У меня фактически есть:

app.use(fileUpload())
app.post('/uploadImage', function(req, res) {

 if (!req.files || Object.keys(req.files).length === 0) {
    return res.status(400).send('No files were uploaded.');
  }

 var encoded = base64.encode(req.files.sampleFile.data);

 connection.query(

    'INSERT INTO ICONS (ID, LANGUAGE_ICON) VALUES   (1,"'+encoded+'")' ,
     //'INSERT INTO ICONS (ID,LANGUAGE_ICON) VALUES (1,'+JSON.stringify(encoded)+')' ,
function(err, response) {
    if(err){
        //console.log(err);
        console.log("ERROR!")
        res.json({ data: "ERROR" });
        res.end();
    }else{
        console.log("Correcto!")
        res.json({ data: encoded });
        res.end();
      }
            }
    );

Этот код WORK PERFECT , потому что я беру ответ JSON и проверяю на странице изображения декодирования base64.

Но когда я хочу DECODE в другой конечной точке, возвращается longblob, но НЕ РАБОТАЕТ

 router.get("/icons", function(req, res) {
    connection.query("select * from icons " , function(err, result) {
        console.log(result);
        if (result != "") {


            var respuesta = [];

            for (var i = 0; i < result.length; i++) {

                var base64String = base64.encode(result[i].LANGUAGE_ICON);
                respuesta[i] = base64String;
            }

            res.json({ iconos: respuesta });
        }
        else {
            res.json({ data: null });
        }
    });
  });

Эта последняя конечная точка прекрасно работает, когда я вставляю изображения через JS, например:

var query2 = connection.query('create table icons (id int,LANGUAGE_ICON LONGBLOB)', function(err, result){
  console.log(result);

})

var A ={
  id:1,
  LANGUAGE_ICON: fs.readFileSync('./src/app/Blog/assets/es.png')  
}


var query = connection.query('INSERT INTO icons SET ?', A, function(err, result){
  if(err){
    console.log("te")
  }else{
    console.log(result);
  }

  })

A

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...