Sto utilizzando l’archiviazione locale del server per salvare i file. Ho caricato un file PDF ed è stato caricato correttamente sul server; è presente anche lì (l’ho verificato manualmente accedendo tramite SSH).
Questa è l’istantanea dell’errore che si verifica quando provo a scaricare il file PDF.
[discourse_cloud] Started GET "/uploads/short-url/ev4yCeBAtz19YgsTSEkhLMkKrFK.pdf" for 122.168.93.128 at 2019-12-24 09:16:40 +0000
[discourse_cloud] Processing by UploadsController#show_short as PDF
[discourse_cloud] Parameters: {"base62"=>"ev4yCeBAtz19YgsTSEkhLMkKrFK", "extension"=>"pdf"}
[discourse_cloud] Sent file /home/deploy/discourse_cloud/releases/20191220210316/public/uploads/discourse_cloud/original/1X/65a1a66f4bddc09fbdab830a8c74c7fbe05cca98.pdf (0.2ms)
[discourse_cloud] Completed 200 OK in 11ms (ActiveRecord: 0.0ms)
[discourse_cloud] Started GET "/home/deploy/discourse_cloud/releases/20191220210316/public/uploads/discourse_cloud/original/1X/65a1a66f4bddc09fbdab830a8c74c7fbe05cca98.pdf" for 122.168.93.128 at 2019-12-24 09:16:40 +0000
[discourse_cloud] ActionController::RoutingError (No route matches [GET] "/home/deploy/discourse_cloud/releases/20191220210316/public/uploads/discourse_cloud/original/1X/65a1a66f4bddc09fbdab830a8c74c7fbe05cca98.pdf")
/home/deploy/discourse_cloud/shared/bundle/ruby/2.6.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/debug_exceptions.rb:65:in `call'
[discourse_cloud] Rendering exceptions/not_found.html.erb within layouts/no_ember
[discourse_cloud] Rendered exceptions/not_found.html.erb within layouts/no_ember (0.6ms)
[discourse_cloud] Rendered layouts/_head.html.erb (1.0ms)
[discourse_cloud] Rendered common/_discourse_stylesheet.html.erb (0.6ms)
[discourse_cloud] Rendered application/_header.html.erb (0.1ms)
[discourse_cloud] Rendering html template
[discourse_cloud] Rendered html template (0.0ms)
Se non hai caricato il file con Discourse, dovrai modificare la configurazione di nginx all’interno del container. Non è configurato per servire file arbitrari in directory arbitrarie.
Lo screenshot sembra essere stato caricato tramite Discourse, ma il percorso dell’URL sembra essere un URL breve e ordinato piuttosto che quello reale?
Questo è l’errore che si presenta quando provo a scaricare l’immagine usando il pulsante di download. (Il pulsante di download probabilmente utilizza la funzione Ruby send_data)
Ho riscontrato lo stesso problema. Il file PDF viene caricato, ma poi non è possibile scaricarlo e si viene reindirizzati alla pagina “questa pagina non esiste”!
Ho fatto delle prove e qui su Meta posso caricare e scaricare facilmente un PDF.
Aggiornamento: Ho provato a modificare alcune impostazioni e penso che si tratti più di un bug Contribute legato ad altre lingue piuttosto che all’inglese.
Ho dovuto ricreare il PDF con un nome in inglese (in precedenza il nome del file conteneva caratteri persiani). Dopo questa modifica, il caricamento e il download del file sono avvenuti senza problemi.
Inoltre, il file PDF con il nome in persiano è stato caricato e scaricato facilmente qui su Meta. Quindi penso che il problema sia legato all’opzione di codifica nel pannello di amministrazione.
Scusate il ritardo nella risposta, ma ho risolto il problema apportando delle modifiche al file nginx.conf. È stata una correzione molto semplice ed era legata a nginx.conf (mentre stavo cercando di correggere il codice principale ).