PDF-Download nicht möglich

Hallo Team,

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).

Screenshot vom 2019-12-24 14-44-42

Das ist der Screenshot des Fehlers, der auftritt, wenn ich versuche, die PDF-Datei herunterzuladen.

Dies ist das Protokoll des Download-Ereignisses:

[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)

Was könnte der Fehler sein? :-/

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?

Nun, ich kann die Datei problemlos hochladen, aber sie erlaubt mir nun nicht mehr, die Datei herunterzuladen.

Ich habe die Datei über das Discourse-Nachrichtenfeld hochgeladen, und der Upload war erfolgreich, aber ich kann sie nicht herunterladen.

Ja @Stephen, ich kann die Datei über mein Discourse problemlos hochladen, aber der Download wird nicht erlaubt. :frowning:

Bitte werfen Sie einen Blick auf diesen Screenshot: Es gibt eine Download-Schaltfläche. Wenn ich darauf klicke, kann ich nicht herunterladen.

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 möchte nur verstehen, ob dies ein Problem mit NGINX oder anderen Berechtigungen in Verzeichnissen ist.

Danke

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.

Hallo Team,

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 :smiley:).

Ich habe diese Zeile aus meiner nginx.conf entfernt:

 proxy_set_header X-Sendfile-Type X-Accel-Redirect;

Damit war das Herunterladen wieder möglich :slight_smile:

Ich werde ab jetzt öfter hier sein :slight_smile:

Vielen Dank,
Ashish P.