Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在nodejs-MySQL中将字符串转换为blob/longblob_Mysql_Node.js_Express_Blob - Fatal编程技术网

如何在nodejs-MySQL中将字符串转换为blob/longblob

如何在nodejs-MySQL中将字符串转换为blob/longblob,mysql,node.js,express,blob,Mysql,Node.js,Express,Blob,我正在用Node.js-Express做一个RESTAPI,我必须在数据库中存储一个图像。我必须使用的类型是longblob。客户端将图像作为字符串发送给我,是否有方法将该字符串转换为blob/longblob 我以这种方式执行REST API: router.post("/usuario/nuevoPostulante", (req, res) => { const { documento, nombre, direccion, myblob, correo, n

我正在用Node.js-Express做一个RESTAPI,我必须在数据库中存储一个图像。我必须使用的类型是longblob。客户端将图像作为字符串发送给我,是否有方法将该字符串转换为blob/longblob

我以这种方式执行REST API:

router.post("/usuario/nuevoPostulante", (req, res) => {
  const { documento, nombre, direccion, myblob, correo, nacionalidad } = req.body;
  const query = `CALL add_postulante(?, ?, ?, ?, ?, ?);`;
  mysqlConnect.query(
    query,
    [documento, nombre, direccion, myblob, correo, nacionalidad],
    (err, rows, fields) => {
      if (!err) {
        res.json({
          code: 201,
          data: {},
          message: "Se registra correctamente al usuario.",
        });
      } else {
        console.log(err);
        res.json({
          code: 409,
          data: {},
          message: "Error en la creacion del usuario",
        });
      }
    }
  );
});

myblob是我收到的字符串首先,传递base64字符串以获取:

const base64Data = "aGV5IHRoZXJl";
const base64 = await fetch(base64Data);
根据base64字符串的格式,您可能需要在内容类型数据之前加上前缀。例如,JPEG图像:

const base64Response = await fetch(`data:image/jpeg;base64,${base64Data}`);
接下来,将响应转换为blob:

const blob = await base64Response.blob();

就这样!从这里,您可以将其上传到服务器,在屏幕上显示,等等。

嗨,瓦希德,谢谢您的回答。我想我做不到你说的。你能再检查一下我的问题吗?因为我编辑了它。也许你有另一个解决办法。:)