如何在nodejs-MySQL中将字符串转换为blob/longblob
我正在用Node.js-Express做一个RESTAPI,我必须在数据库中存储一个图像。我必须使用的类型是longblob。客户端将图像作为字符串发送给我,是否有方法将该字符串转换为blob/longblob 我以这种方式执行REST API:如何在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
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();
就这样!从这里,您可以将其上传到服务器,在屏幕上显示,等等。嗨,瓦希德,谢谢您的回答。我想我做不到你说的。你能再检查一下我的问题吗?因为我编辑了它。也许你有另一个解决办法。:)