【问题标题】:How to convert a string to blob/longblob in nodejs - MySQL如何在nodejs中将字符串转换为blob/longblob - MySQL
【发布时间】:2021-08-19 03:28:08
【问题描述】:

我正在使用 Node.js - Express 做一个 REST API,我必须将图像存储在数据库中。我必须使用的类型是 longblob。客户将图像作为 String 发送给我,有没有办法将该字符串转换为 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 是我收到的字符串

【问题讨论】:

    标签: mysql node.js express blob


    【解决方案1】:

    首先,传递一个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();
    

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

    【讨论】:

    • 您好 Vahid,感谢您的回答。我觉得我做不到你说的。你能再检查一下我的问题吗?因为我编辑了它。也许你有另一个解决方案。 :)
    猜你喜欢
    • 2013-06-28
    • 2021-02-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多