Impossible de télécharger le PDF

Hello Team,

I am using the server local storage for storing the files. I have uploaded a pdf file and it was successfully uploaded in the server and, it’s present at the server as well ( I checked it manually by doing ssh login ).

That’s the screenshot of error getting raised when I am trying to download the pdf file.

This is the log of the download event

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

What could be the error ? :-/

If you didn’t upload the file with discourse you will need to change the nginx config inside the container. It’s not set up to server arbitrary files in arbitrary directories.

The screenshot looks like it was uploaded using discourse, but the URL path looks like a tidied short url rather than the real thing?

Can you try uploading that pdf to try.discourse.org and see if it works there? Maybe you have an issue with that specific file?

I guess uploading other types of files works?

Well, I am unable to upload the file without any issues but it’s now allowing me download the file.

I uploaded the file using Discourse message box and it uploaded successfully but I am not able to download it.

Yes @Stephen, I am able to upload the file smoothly using my discourse but, it’s not allowing me to download. :frowning:

Please have a look at this screenshot, It’s having a download button. When I tried click on it, I am not able to download.

That’s the error raised when I tried to download the image using download button. ( Download button probably using send_data ruby function )

I just want to undrestand that this is something wrong with NGINX or any other directories permission related issue.

Thanks

J’ai rencontré le même problème. Le fichier PDF est bien téléchargé, mais il est impossible de le récupérer ensuite ; on aboutit à la page « Cette page n’existe pas » !

J’ai effectué des tests et j’ai pu facilement télécharger un PDF ici sur Meta.

Mise à jour : J’ai apporté quelques modifications et je pense qu’il s’agit davantage d’un bug lié aux autres langues plutôt qu’à l’anglais.

J’ai dû recréer le PDF avec un nom en anglais (auparavant, le nom du fichier contenait des caractères persans). Après cela, le téléchargement du fichier s’est déroulé sans aucun problème.

De plus, le fichier PDF avec le nom persan a pu être facilement téléchargé et récupéré ici sur Meta. Je pense donc que cela est lié à l’option d’encodage dans le panneau d’administration.

Bonjour à toute l’équipe,

Désolé pour le retard de ma réponse, mais j’ai résolu mon problème en apportant des modifications au fichier nginx.conf. C’était une correction très simple et elle était liée à nginx.conf (alors que j’essayais de corriger le code de base :smiley:).

J’ai supprimé cette ligne de mon fichier nginx.conf :

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

Cela a suffi à faire fonctionner le téléchargement :slight_smile:

Je vais essayer d’être plus régulier à partir de maintenant :slight_smile:

Merci,
Ashish P.