Hola, estoy trabajando en un proyecto en el que guardo archivos de imagen en Cloudinary. Y almacene la URL de la ubicación de la imagen y pásela al lado del servidor. Desde el lado del servidor, guardo las URL de las imágenes en la base de datos. Luego, tengo que generar un pdf con esas imágenes y enviar un correo electrónico (estoy haciendo esto a través de la misma API donde guardo las rutas de las imágenes en la base de datos).
Estoy usando jsPDF.
en el front-end tengo una función de vista previa donde puedo mostrar la URL nublada de la imagen
doc.addImage(file, 'PNG', 198, 50, 110, 80, '', 'FAST', 90);[aquí se accede al archivo a través del elemento html)
Y este código funciona y puede ver la vista previa en pdf de la imagen.
Pero cuando trato de hacer lo mismo en el lado del servidor
doc.addImage(e.image, 'PNG', 198, 50, 110, 80, '', 'FAST', 90);esta línea da una respuesta de tiempo de espera y falla a mi API. Si comento esto, funciona, se crea un pdf sin imagen. (Tanto el archivo como la imagen electrónica son direcciones URL de imágenes nubladas, las imágenes existen).
Necesito crear este pdf en el servidor. Obtuve la pista de que lleva tiempo cargar esta imagen (lo que no sucede en la función de vista previa en el front-end) y, según Google, necesito convertirla a base64. Ahora que estoy en el servidor, ¿hay alguna manera de convertirla? mi url a una cadena base64. Lo que probé hasta ahora no funcionó. ¿O hay una mejor solución para esto?
No es posible enviar base64 a través de API debido al problema del tamaño del archivo y el objeto API puede tener varias imágenes en una sola compra.