Tengo una función que hace ping a mi servidor e intenta descargar un archivo de una base de datos
const handleDownloadFileData = async (id) => { const res = await downloadServiceFileData(id) console.log(res.data) }la salida de res.data se ve así:
/9j/4AAQSkZJRgABAQAASABIAAD/4QCKRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAABJADAAIAAAAUAAAAXJKGAAcAAAASAAAAcKACAAQAAAABAAAC7qADAAQAAAABAAAFNgAAAAAyMDIxOjAyOjE2IDAxOjE0OjA3AEFTQ0lJAAAAU2NyZWVuc2hvdP/tADhQaG90b3Nob3AgMy4wADhCSU0EBAAAAAAAADhCSU0EJQAAAAAAENQdjNmPALIE6YAJmOz4Qn7/4nYwSUNDX1BST0ZJTEUAAQ...¿Supongo que esto es algún tipo de Base64 decodificado?
¿Puedo crear el archivo a partir de estos datos y quizás mostrar el archivo en una nueva pestaña? y si es asi como? Perdón por la ignorancia pero nunca antes había hecho este tipo de desarrollo.
descargarServiceFileData
export async function downloadServiceFileData(fileDataId) { try { return await awsApiRequest({ method: 'GET', path: `/file-data/${fileDataId}`, }); } catch (error) { return error; } }Puedes hacerlo con una API de búsqueda simple
const decodedString = "/9j/4AAQSkZJRgABAQAASABIAAD/4QCKRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAABJADAAIAAAAUAAAAXJKGAAcAAAASAAAAcKACAAQAAAABAAAC7qADAAQAAAABAAAFNgAAAAAyMDIxOjAyOjE2IDAxOjE0OjA3AEFTQ0lJAAAAU2NyZWVuc2hvdP/tADhQaG90b3Nob3AgMy4wADhCSU0EBAAAAAAAADhCSU0EJQAAAAAAENQdjNmPALIE6YAJmOz4Qn7/4nYwSUNDX1BST0ZJTEUAAQ..." let type = 'application/octet-stream' let blob = null; fetch(`data:${type};base64,${decodedString}`).then(res=>blob =res.blob()) //File constructor var file = new File([blob], "name");