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

同じ問題に直面しました。PDF ファイルはアップロードされるものの、その後ファイルをダウンロードできず、「このページは存在しません」というページに移動してしまいます。

テストしたところ、Meta 上では PDF のアップロードとダウンロードが簡単にできました。

更新:いくつかの変更を試した結果、これは英語ではなく他の言語に関連するバグではないかと推測します。

PDF ファイルを英語の名前で再作成する必要がありました(以前はファイル名にペルシャ語の文字が含まれていました)。その後、アップロードしたファイルを問題なくダウンロードできるようになりました。

また、ペルシャ語の名前が付いた PDF ファイルも、Meta上では簡単にアップロードおよびダウンロードできました。そのため、これは管理パネルの「エンコーディング」オプションに関連しているのではないかと考えられます。

チームの皆様、こんにちは。

返信が遅くなり申し訳ありません。しかし、nginx.conf ファイル内で変更を加えることで問題を解決しました。非常に簡単な修正で、nginx.conf に関連するものでした(コアコードを修正しようとしていました :smiley: )。

nginx.conf から以下の行を削除しました。

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

これでダウンロードが機能するようになりました :slight_smile:

今後はより頻繁に投稿するよう努めます :slight_smile:

ありがとうございました、
アシュシュ・P。