ich speichere die Dateien im lokalen Serverspeicher. Ich habe eine PDF-Datei hochgeladen, die erfolgreich auf dem Server abgelegt wurde und dort auch vorhanden ist (ich habe dies manuell per SSH-Login überprüft).
Das ist der Screenshot des Fehlers, der auftritt, wenn ich versuche, die PDF-Datei herunterzuladen.
[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)
Wenn Sie die Datei nicht über Discourse hochgeladen haben, müssen Sie die Nginx-Konfiguration innerhalb des Containers ändern. Sie ist nicht so konfiguriert, dass sie beliebige Dateien in beliebigen Verzeichnissen ausliefert.
Der Screenshot sieht so aus, als wäre er über Discourse hochgeladen worden, aber der URL-Pfad sieht eher nach einer bereinigten Kurz-URL aus als nach der echten?
Könntest du versuchen, diese PDF-Datei auf try.discourse.org hochzuladen und zu prüfen, ob es dort funktioniert? Vielleicht liegt das Problem bei dieser spezifischen Datei?
Ich vermute, das Hochladen anderer Dateitypen funktioniert?
Das ist der Fehler, der auftritt, wenn ich versuche, das Bild über die Download-Schaltfläche herunterzuladen. (Die Download-Schaltfläche verwendet wahrscheinlich die Ruby-Funktion send_data.)
Ich habe das gleiche Problem erlebt. Die PDF-Datei wird hochgeladen, aber danach kann man sie nicht herunterladen und landet auf der Seite „Diese Seite existiert nicht"!
Ich habe es getestet und konnte hier auf Meta problemlos eine PDF hoch- und herunterladen.
Update: Ich habe einige Änderungen versucht und vermute, dass dies eher ein bug im Zusammenhang mit anderen Sprachen als mit Englisch ist.
Ich musste die PDF mit einem englischen Namen neu erstellen (zuvor enthielt der Dateiname persische Zeichen). Danach konnte die hochgeladene Datei problemlos heruntergeladen werden.
Außerdem konnte die PDF-Datei mit dem persischen Namen hier auf Meta problemlos hoch- und heruntergeladen werden. Ich vermute also, dass es mit der Codierungsoption im Admin-Bereich zu tun hat.
Entschuldigt, dass ich so spät antworte, aber ich habe mein Problem behoben, indem ich Änderungen in der nginx.conf-Datei vorgenommen habe. Es war eine sehr einfache Lösung und bezog sich auf die nginx.conf (und ich habe versucht, den Core-Code zu reparieren ).
Ich habe diese Zeile aus meiner nginx.conf entfernt: