Las imágenes no cargan después de la fusión incluso cuando el archivo existe y el modelo de carga también existe

Usé Fusionar dos sitios de Discourse en uno y funcionó en su mayor parte, pero las imágenes del segundo sitio no se muestran.

Puedo hacer algo como esto:

p=Post.find_by(topic_id: 222435, post_number: 11)
short_url=p.raw.match(/(upload:\/\/.*?)\)/)[1]
up=Upload.sha1_from_short_url(short_url)

y up.url se ve como /uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg y cd /shared; ls uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg encuentra el archivo.

Pero https://host/uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg me da un 404 de nginx.

Parecería que si el Upload existe y el archivo existe, entonces NGINX sería lo suficientemente amable como para dejarme tenerlo. ¿Qué me estoy perdiendo?

Para algunas imágenes, he “resuelto” este problema pegando la URL de la imagen del sitio de prueba, lo que genera la imagen, que luego se convierte en una carga (la misma carga que acabo de encontrar, hasta donde puedo decir) y luego, después de eso, si reconstruyo la publicación, tendrá la imagen.

He intentado hacer algo como

f=File.open('/shared/uploads/default/original/2X/9/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg')
upload = UploadCreator.new(f, 'upload.jpeg').create_for(-1)

para hacer lo mismo que pegar la URL remota de la imagen, pero eso tampoco está funcionando.

Hola @RGJ. ¿Tienes alguna pista sobre cómo conseguir que estas imágenes que (¿parecen?) existir en la base de datos y el sistema de archivos se rendericen cuando vuelva a hornear?

Odio depurar este tipo de errores.
La mayoría de las veces, simplemente ejecuto el código manualmente en el controlador en una consola de Rails.

Esta vez, supongo que el 404 podría provenir de la línea 111.

¿Qué te da Discourse.store.list_missing_uploads(skip_optimized: true)?

1 me gusta

Así es como somos iguales. Pero estoy bastante seguro de que eres mejor en eso que yo. Muchas gracias por tus consejos.

Eso es lo que estoy intentando hacer.

Esa parece una buena suposición. ¡Gracias!

nil. skip_optimized: false – lo mismo.

Logré arreglar las cargas de una publicación, pero aparentemente no tomé muy buenas notas. :person_shrugging: Pero hice un montón de cosas para llegar allí; tengo algo de esperanza de que sea posible, al menos.

1 me gusta