Quiero recuperar el BLOB de la base de datos como tipo BLOB pero no como tipo Buffer porque el BLOB tiene un tipo de archivo. El problema es que puedo actualizar el archivo BLOB a la base de datos, pero cuando recupero el archivo BLOB, en su lugar, se representa como tipo Buffer. ¿Cómo puedo obtener un archivo BLOB directamente porque no quiero definir el tipo solo como .JPG? Quiero admitir .PNG, .GIF .WEBP y viceversa.
El resultado de la consulta es tipo Buffer, no tipo Blob de console.log()
<Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff e2 02 28 49 43 43 5f 50 52 4f 46 49 4c 45 00 01 01 00 00 02 18 00 00 00 00 04 30 00 00 ... 1152932 more bytes>
Aquí está mi código para convertir el archivo Buffer al formato Base64 y luego enviarlo al front-end para mostrarlo como perfil y configuración de perfil para verificar la carga de una imagen.
getAccountByUserID = (id,success) => { this.db.query(`SELECT u.UserID,u.Firstname,u.Lastname,u.Email,r.Role FROM user AS u JOIN role AS r ON u.UserID = r.UserID WHERE u.UserID = ?`,[id],(err,result)=>{ if (err) throw err const account = result[0] this.db.query(`SELECT Image,Format,Data FROM profile WHERE UserID = ?`,[id],(err,result)=>{ if (err) throw err const buffer = result[0]["Image"] const format = result[0]["Format"] const image = `data:image/jpg;base64,${buffer.toString("base64")}` const data = JSON.parse(result[0]["Data"]) success({...account,["Image"]:image,["Data"]:data}) }) }) }