غير قادر على تحميل ملف 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، لكن لا يمكن بعد ذلك تنزيل الملف وينتقل المستخدم إلى صفحة “هذه الصفحة غير موجودة”!

لقد قمت بالاختبار وتمكنت من رفع وتنزيل ملف PDF بسهولة هنا على ميتا.

تحديث: جربت بعض التغييرات وأعتقد أن هذه مشكلة bug تتعلق باللغات الأخرى وليس الإنجليزية.

كان علي إعادة إنشاء ملف PDF باسم باللغة الإنجليزية (كان لدينا سابقًا أحرف فارسية في اسم الملف). بعد ذلك، يمكن تنزيل الملف المرفوع دون أي مشكلة.

أيضًا، يمكن بسهولة رفع وتنزيل ملف PDF بالاسم الفارسي هنا على ميتا. لذا أعتقد أن الأمر يتعلق بخيار الترميز في لوحة الإدارة.

مرحبًا الفريق،

عذرًا، تأخرت كثيرًا في الرد، لكنني قمت بإصلاح مشكلتي من خلال إجراء تعديلات داخل ملف nginx.conf. كان الإصلاح بسيطًا جدًا ومرتبطًا بملف nginx.conf (وكانت محاولتي السابقة لإصلاح الكود الأساسي :smiley:).

حذفت السطر التالي من ملف nginx.conf:

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

كان هذا التعديل كافيًا لجعل التحميل يعمل بشكل صحيح :slight_smile:

سأحاول أن أكون أكثر انتظامًا من الآن فصاعدًا :slight_smile:

شكرًا لكم،
أشيش ب.