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 non è possibile scaricarlo e si viene reindirizzati alla pagina “Questa pagina non esiste”!
Ho fatto delle prove e ho potuto caricare e scaricare facilmente un PDF qui su Meta.
Aggiornamento: Ho provato alcune modifiche e credo che si tratti più di un bug legato alle 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 di ciò, il caricamento può essere scaricato senza alcun problema.
Inoltre, il file PDF con il nome persiano poteva essere facilmente caricato e scaricato qui su Meta. Quindi penso che abbia a che fare con l’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 ).