Tengo un archivo pdf local que quiero recibir y convertir a base64
import file from 'assets/PDFs/file.pdf'; const getBase64 = async (file) => new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = error => reject(error); }); const fileURI = new File([file], 'file') const base64Pdf = await getBase64(fileURI);Finalmente, en lugar de un archivo base64, obtuve un archivo de texto que contiene una ruta al archivo assets/PDFs/file.pdf
Para el entorno del nodo:
import fs from 'fs' try { const data = fs.readFileSync('assets/PDFs/file.pdf', 'utf8') const buff = new Buffer.from(data) const base64pdf = 'data:application/pdf;base64,' + buff.toString('base64') console.log(base64pdf) } catch (err) { console.error(err) }Para el entorno del navegador:
const getBase64 = async(file) => new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = error => reject(error); }); const file = document.querySelector("input").onchange = async(e) => { let b64Data = await getBase64(e.target.files[0]); console.log(b64Data) } <input type="file" accept=".pdf" />