putobject nodejs node listobjects aws amazon-s3 amazon-web-services content-type bucket

amazon-s3 - nodejs - s3 sdk aws



Amazon S3 no está sirviendo archivos correctamente (4)

Los archivos CSS están predeterminados a un tipo MIME de octet/binary . Para corregir esto, inicie sesión en su Consola de administración de AWS, vaya a la sección de Amazon S3 y encuentre el grupo relevante. Localiza el archivo CSS y selecciona Propiedades. En Metadatos, configure la clave de tipo de contenido en valor: text/css

Si usa la aplicación Transmit de Panic para Mac OS X, puede configurar un encabezado de carga personalizado para los archivos CSS de Content-Type: text/css que aplicará el tipo MIME correcto cada vez que cargue un archivo, eliminando la necesidad de configurar esto manualmente. en su consola cada vez.

Más información sobre esto está en la publicación del blog de Adam Wilcox.

Hice este sitio para mi amigo y lo subí a un depósito de Amazon S3 ( http://ballard26.s3.amazonaws.com/index.html ) y cuando voy a ese sitio, la página no se carga correctamente y tengo ni idea de por qué ¿Algunas ideas?

Por ejemplo, el stylesheet.css no se carga correctamente. Si vas a http://ballard26.s3.amazonaws.com/stylesheet.css , descarga el archivo en lugar de cargarlo como CSS.


Supongo que no ha especificado o establecido correctamente el tipo mime del archivo al cargar el archivo. Como resultado, está predeterminado para binary/octet-stream .

Cuando carga su página, su navegador asume que la hoja de estilo que especificó no es un archivo CSS, ya que se está sirviendo con un tipo de contenido distinto de text/css , por lo que no está aplicando la hoja de estilos.


Tuve el mismo problema en IE debido al tipo de contenido incorrecto de nuestros archivos CSS / JS.

Si está utilizando Ruby y la gema de AWS, use el código siguiente:

s3 = Aws::S3Interface.new($s3[:s3_access_key_id],$s3[:s3_secret_access_key],{:multi_thread => true}); s3.put($s3[:s3_bucket],s3_path,file[:tempfile].read,{''x-amz-acl'' => ''public-read'', ''content-type'' => ''text/css'' })

Observe la diferente sintaxis de los metadatos S3:

''content-type'' => ''text/css''


Verifique los tipos de mime (encabezado de tipo de contenido HTTP) en los archivos que cargó. S3 no siempre los configura correctamente. Es posible que deba establecerlos en la llamada a la API de carga. Algunas bibliotecas de carga lo harán por ti.

Si los tipos de mime no son correctos cuando el archivo se descarga desde el navegador desde S3, si el tipo de mime no está configurado correctamente, no siempre se procesará correctamente.