Quiero mostrar imágenes del sistema de archivos que pueden ser jpeg, png, nef, raw, svg, etc. en el navegador. Algunos de estos tipos, como nef, raw, no son compatibles de forma nativa con el navegador y quiero convertirlos a jpeg (y también comprimirlos en tamaño) y mostrarlos. A continuación se muestra mi código (que no funciona). Busqué en Google mucho y no pude encontrar una manera de realizar la conversión. El siguiente código termina activando una devolución de llamada de onerror en Image . Soy relativamente novato en JS y agradecería ayuda/apunteros sobre lo que debe suceder y los por qué, si es posible. Gracias _/_.
private static async toImg(file: File): Promise<HTMLImageElement> { let img = new Image() let output = new Promise<HTMLImageElement>((resolve, reject) => { img.onload = () => { resolve(img) } img.onerror = (err) => { console.log(err) } let reader = new FileReader() reader.onloadend = (e) => { let data = reader.result as string let blob = new Blob([data], {type: 'image/jpeg'}) img.src = URL.createObjectURL(blob) } reader.readAsDataURL(file) }) return output }