No se puede descargar el PDF

Hola equipo,

Estoy utilizando el almacenamiento local del servidor para guardar los archivos. He subido un archivo PDF y se subió correctamente al servidor; además, está presente en el servidor (lo verifiqué manualmente iniciando sesión por SSH).

Captura de pantalla del 2019-12-24 14-44-42

Esta es la captura de pantalla del error que se produce cuando intento descargar el archivo PDF.

Este es el registro del evento de descarga

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

¿Qué podría ser el error? :-/

Si no has subido el archivo con Discourse, necesitarás cambiar la configuración de nginx dentro del contenedor. No está configurado para servir archivos arbitrarios en directorios arbitrarios.

La captura de pantalla parece haberse subido usando Discourse, pero la ruta de la URL parece ser una URL corta y limpia en lugar de la real.

¿Podrías intentar subir ese PDF a try.discourse.org y ver si funciona allí? ¿Quizás tienes un problema con ese archivo en particular?

Supongo que la subida de otros tipos de archivos funciona.

Bueno, no puedo subir el archivo sin problemas, pero ahora tampoco me permite descargarlo.

Subí el archivo usando la caja de mensajes de Discourse y se subió correctamente, pero no puedo descargarlo.

@Stephen, puedo subir el archivo sin problemas usando mi Discourse, pero no me permite descargarlo. :frowning:

Por favor, echa un vistazo a esta captura de pantalla. Tiene un botón de descarga. Cuando intenté hacer clic en él, no pude descargar.

Este es el error que surgió cuando intenté descargar la imagen usando el botón de descarga. (El botón de descarga probablemente usa la función Ruby send_data)

Solo quiero entender si esto es un problema con NGINX o algún otro problema relacionado con los permisos de los directorios.

Gracias

He enfrentado el mismo problema. Se sube el archivo PDF, pero luego no se puede descargar y se va a la página de «esta página no existe».

Lo probé y pude subir y descargar un PDF fácilmente aquí en Meta.

Actualización: Probé algunos cambios y creo que esto es más bien un bug relacionado con otros idiomas y no con el inglés.

Tuve que volver a crear el PDF con un nombre en inglés (anteriormente teníamos caracteres persas en el nombre del archivo). Después de eso, la subida se puede descargar sin ningún problema.

Además, el archivo PDF con el nombre en persa se podía subir y descargar fácilmente aquí en Meta. Así que creo que tiene algo que ver con la opción de codificación en el panel de administración.

Hola equipo,

Lo siento, he tardado mucho en responder, pero solucioné mi problema realizando cambios en el archivo nginx.conf. Fue una solución muy sencilla y estaba relacionada con nginx.conf (y yo estaba intentando arreglar el código principal :smiley:).

Eliminé esta línea de mi nginx.conf:

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

Esa fue la solución para que la descarga funcionara :slight_smile:

A partir de ahora intentaré ser más frecuente :slight_smile:

Gracias,
Ashish P.