así que creé una imagen PNG usando chunky_png. No quiero guardar esta imagen, porque solo es útil para esta solicitud, por lo que intento guardar esta imagen como una variable de instancia y mostrarla en mi vista.mostrando una imagen creada con chunkypng directamente (sin guardar)
el problema es que esto da como resultado un error invalid byte sequence in UTF-8
en mi vista.
lo que hice:
# controller
@img = source_img.resize(200, 200).to_string
#view
<img src="data:image/png;base64,<%= @img %>" />
depuración de la variable @img con raise @img.to_yaml
salidas mí la cadena correcta, f.e .:
--- !binary |-
iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACP0lEQVR4nO1Y
QY6jQAy0AxJ9a34AH8l29lmRhgDJSDxrwsxHmh80N5Ag3urkjFZabTw5TJ+g
HclWUa6ys5Ots6Ot8xP5/xFhnJIGxo/GdDD9HC+al6iNMpGFVie3kXOiyZET
8bq49cAipRn5bVXOB+CVPiXPXyMRhQb1PDvPRmQZAMWOam/cN1TgpKFEyIVT
pENLDF6oVoCuSCkdSIokEJnICy41K+AojX4psutY5+8011m80O1T4YpXxsOJ
3mjqo2A8Jc+/RD7txVNhWFrJPDnTF41uBfPvoXKJHw/jjt7QLMThqKuj2Ufe
+bUEFDeigtykr1UsVQkT2TP0cjA0H6wuR4VPkKilmMCDACjISmhLXc/64Ap+
mp3RJZ3IFTVpe9aXXHxawKzOY/Ss8WCVHX2u7hjYNa/yxNsWSrEULzJT0Cd1
XgToXEDWx/WgWRtPHKkZGSJ86ccDHjqvy9E1ryHfKORkmwJ+5u7NoqoUoXXQ
axqTYS6Ng2jWukoBD6/7qI+2sc2AmUIKLnUxkHzFMDURVXdHx3hT97pd8hU6
v9B8Ghs0qOnhIO9PybMZQRuumKTM42Ii3o2zew2lYLnBvRKP9ryErjeEd10/
fexmaznti8ZWbopoJV5XKeIGJp6TUEEyDGVXZbV8bGCMqRPbTyQnlpDjNzAk
gZXbNhxLINKH5+XZjsxsJD8DAwjGPtf+CnEDI8xVIX4HQ4aDtlLEDSzx5hdk
M77FuUp5/9mKPHazu5LX97+wMH42qhX8RP4AQpEyh+7r4x0AAAAASUVORK5C
YII=
copiing esta cadena manualmente en la etiqueta img muestra la imagen correctamente.
¿Alguna idea de qué va mal aquí? otras ideas de mostrar esta imagen directamente sin guardar?
gracias de antemano! si algo no está claro, POR FAVOR deje un comentario.
¿Ha intentado añadir to_yaml a su src attr? – Yule
@Yule '.to_yaml' no bloquea mi aplicación, pero, por supuesto, la imagen no se mostrará, debido al formato yaml. – choise
trozo de un truco, pero ¿qué pasa con .to_yaml.to_s? – Yule