Pregunta

Estoy usando Amazon S3 para almacenar y servir contenido de usuario para las cuentas de usuario. Necesito la capacidad de servir a los archivos ya sea en línea (a veces las direcciones URL de las imágenes estarán en blogs, etc) o como una descarga. Por defecto, cuando cargue un archivo en mi cubo S3, el archivo tiene ningún conjunto Content-Disposition (lo cual está bien porque va en línea del servidor, siempre y cuando el navegador reconoce el archivo MIME), sin embargo a veces me tendrá que establecer el Content disposición de fijación con el fin de descargar el archivo.

El uso de rieles / S3 gema, es posible enviar una petición a Amazon para especificar que el archivo debe ser enviado con el conjunto de Content-Disposición de fijación (o viceversa) por sólo esa petición? Posiblemente se podría utilizar algún tipo de token (en referencia a un token para la solicitud, por lo general utilizado para autenticado lee ... sólo me preguntaba si eso me puede ayudar en esta situación también)? El uso de la gema S3, sé cómo ajustar y guardar el contenido-Disposición para cada archivo, pero eso sería hacer que el archivo se descargará siempre y no podía ser utilizado como una línea de imagen (no probado).

A falta de tener dos archivos (uno con y sin el conjunto Content-Disposition = 'Descargar'), alguna idea? Gracias de antemano.

PS I utilizando los carriles carriles 2, attachment_fu y la gema AWS-S3 (que no puedo cambiar, porque éstos lo anterior mencionado aplicación es, aparte de una, aplicación mucho más grande ya se está ejecutando y sé que existen conflictos entre las AWS-S3 y joya aws_right)

¿Fue útil?

Solución

Sólo en caso de que alguien se tropieza sobre este antiguo puesto, API de Amazon ahora permite cambiar el Content-Disposición de los archivos almacenados en S3. leer el anuncio aquí.

Otros consejos

Creo que el Content-Disposition está puesto en carga, por lo que si usted no quiere dos copias del archivo, cada uno con su propio Content-Disposition, una forma sería la de transmitir desde un controlador utilizando send_file http://api.rubyonrails.org/classes/ActionController/Streaming # método-i-send_file .html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top