2012-06-21 9 views
7

Me gustaría almacenar una pequeña imagen de perfil de mis usuarios en su navegador para que puedan ver su foto de perfil (en el formulario de inicio de sesión) cada vez que inicien sesión (cuando marquen, acuérdense de mí ejemplo). Creo que Hotmail está haciendo algo similar.Almacenar una imagen en una cookie

¿Es posible almacenar la imagen en la computadora del usuario y almacenarla en una cookie? Parece que el tamaño máximo de una cookie es 4096 Bytes por lo que puede ser difícil almacenar la imagen en una cookie. ¿Tienes alguna idea de cómo podría hacer eso?

Respuesta

11

Sin duda, es más eficiente para almacenar un enlace a una imagen en línea en la cookie, y utilizar en su lugar?

Cada vez que se busca una página web, se transmiten las cookies: almacenar una imagen agregará ancho de banda innecesario.

+0

Transmitir la imagen cada vez agregará más sobrecarga innecesariamente - almacenarla en localStorage significa que esto no ocurre. –

8
+0

¡Esto es asombroso! Esto tiene la ventaja de almacenar la imagen localmente y reducir el uso de la red y del servidor. El problema restante es que necesitamos codificar64 las imágenes binarias, pero php parece hacerlo fácilmente: [base64_encode()] (http://php.net/manual/en/function.base64-encode.php). – Mick

+3

El almacenamiento en caché ha estado en el protocolo HTTP durante casi dos décadas. ¿Por qué quieres reinventar eso? En su lugar, envíe algunos encabezados de caché para sus archivos de imagen y bríndelos como archivos normales, utilizando los elementos estándar ''. –

+0

Suena bien :-) ¿Puedes hacer eso solo en JS? (para mi propio proyecto) –

4

Podría almacenar la ruta de la imagen en una cookie y utilizar el valor para hacerlo en la pantalla de inicio de sesión?

+0

¿Cómo puedes hacer esto? – User1999

4

¿Por qué no desea almacenar imágenes en el servidor y almacenarlas en una cookie?

Esto se parece más situable, a continuación, escribir datos adicionales en el ordenador del usuario ...

+0

Transmitir la imagen cada vez agregará más sobrecarga innecesariamente - almacenarla en localStorage significa que esto no sucede. –

+0

@Jasper Mogg si la imagen se vio antes, si el navegador debe almacenarla en la memoria caché, por lo que no hay transmisión adicional – DaneSoul

Cuestiones relacionadas