2012-05-14 22 views
8

Cuando un usuario hace clic en un enlace en mi aplicación Ruby on Rails, se genera un archivo PDF en segundo plano.Descargar pdf de forma asíncrona

La aplicación está sondeando el servidor para saber cuándo está listo el archivo PDF, y luego debe pedirle al usuario que lo descargue como si hubiera hecho clic en un enlace PDF que ya existía.

Hacemos esto con un iframe oculto y cambiamos el atributo src cuando el archivo PDF está listo.

Aunque funciona en Firefox (hay una ventana emergente nativa para descargar el archivo), no lo hace en safari/chrome. ¿Cómo debería hacer esto? He visto que hay un encabezado HTTP Content-Disposition, pero el archivo PDF está almacenado en S3, por lo que no creo que pueda usar ese método.

Respuesta

3

Necesita usar el encabezado de respuesta Content-Disposition = 'attachment';.

No estoy totalmente de la obra con S3 de modo que me haga saber si esta respuesta no es del todo bien, pero parece que son capaz de establecer los encabezados de contenido en la URL de solicitud ahora, véase el ejemplo here.

+0

De hecho, lo soy y parece ser el truco. Solo tiene que integrarlo con clip/niebla ahora! – ksol

Cuestiones relacionadas