Le immagini non vengono caricate dopo la fusione anche quando il file esiste e il modello di caricamento esiste

Ho utilizzato Merge two Discourse sites into one e ha funzionato per lo più, ma le immagini dal secondo sito non vengono visualizzate.

Posso fare qualcosa del genere:

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)

e up.url assomiglia a /uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg e cd /shared; ls uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg trova il file.

Ma https://host/uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg mi restituisce un 404 da nginx.

Sembrerebbe che se Upload esiste e il file esiste, allora NGINX dovrebbe essere abbastanza gentile da farmelo avere. Cosa mi sfugge?

Per alcune immagini, ho “risolto” questo problema incollando l’URL dell’immagine dal sito di test, che poi genera l’immagine, che poi viene convertita in un upload (lo stesso upload che trovo, per quanto ne so) e poi, dopo aver ricostruito il post, avrà l’immagine.

Ho provato a fare qualcosa come

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

per fare la stessa cosa che incollando l’URL remoto dell’immagine, ma anche questo non funziona.

Ehi @RGJ. Hai un suggerimento su come ottenere queste immagini che (sembrano?) esistere nel database e nel file system per essere renderizzate quando faccio il rebake?

Odio fare il debug di questo tipo di errori.
La maggior parte delle volte eseguo manualmente il codice nel controller in una console Rails.

Questa volta immagino che il 404 possa provenire dalla riga 111

Cosa restituisce Discourse.store.list_missing_uploads(skip_optimized: true)?

1 Mi Piace

È così che siamo uguali. Ma sono abbastanza sicuro che tu sia più bravo di me. Grazie mille per i tuoi suggerimenti.

È quello che sto cercando di fare.

Sembra una buona ipotesi. Grazie!

nil. skip_optimized: false – uguale.

Sono riuscito a correggere gli upload per un post, ma apparentemente non ho preso appunti molto buoni. :person_shrugging: Ma ho fatto un sacco di cose per arrivarci; ho per lo più qualche speranza che sia possibile, almeno.

1 Mi Piace