2012-06-07 8 views
5

Estoy tratando de reproducir archivos multimedia desde el sistema de archivos local. El usuario ahora selecciona un archivo a través de 'entrada' y lo reproduce. Deseo persistir esa referencia de archivo, para que cuando el usuario visite la próxima vez, pueda decirle cuántas veces jugó antes, etc.,persistir referencia de archivo con html5

Debería descargar la referencia del archivo desde el servidor o almacenarlo localmente ... alguna idea de cómo realizar esto?

+0

actualmente la solución de este temporal, pidiendo al usuario que seleccione los archivos cada vez que él/ella abre el sitio web. guarde los datos en db, usando el tamaño en bytes como el ID único. – Skeptor

Respuesta

0

Lo que puede hacer es almacenar los user.recent_files (solo los nombres) en la base de datos, y hacer un cálculo agregado para mostrarle cuántas veces lo ha visto antes.

Lo que no puedes hacer es permitirle hacer clic en un enlace de un archivo leído previamente para volver a leerlo, quiero decir con HTML5 solo.

Rgds.

1

Puede almacenar la información del audio o video en el lado del cliente usando IndexedDB o localStorage. Almacenamiento local es más fácil de usar IMO:

var obj = { 
     "timestamp": new Date(), 
     "title": "Blah Blah", 
     "Performer": "Lady Blahblah" 
    }; 

localStorage["previous"] = JSON.stringify(obj); 

de notar que usted no será capaz de obtener la ruta completa del archivo, y esto le impide jugar el mismo archivo la próxima vez. Una posible solución es almacenar el archivo en Base-64, y ponerlo directamente en <video> o <audio>, que estoy utilizando este método para almacenar el archivo en la extensión de Google Chrome que hice.

+0

esto duplicará toda la información ¿no? ... Actualmente estoy considerando permitirle al usuario reproducir todo el conjunto de canciones ... :( si solo puedo almacenar la ruta del archivo hubiera sido impresionante – Skeptor

+0

@Skeptor - No se puede conocer la ruta completa por razones de seguridad. En realidad, almacenar todas las canciones en la base de datos (WebSQL) no es una mala idea, ya que es lo que pretendía. –

+0

así que cualquier idea de cuánto se comprime (si hay) – Skeptor

1

¿Hay alguna razón por la que necesite almacenar el archivo? Por lo que leí, sonaba como si solo quisieras llevar un recuento de los tiempos en que se jugó. Esto se puede lograr simplemente mezclando el archivo y luego manteniendo el conteo asociado con el hash del archivo en lugar del archivo en algo parecido al almacenamiento local.

Breve ejemplo usando una implementación javascript md5 por alguien que encontré en google incluido en los comentarios.

http://jsfiddle.net/influenztial/b3b2V/2/

+0

Podría tener archivos de 1000s, hash es difícil: (. Encontré una solución temporal, agregada en los comentarios de la pregunta. Coméntela – Skeptor

Cuestiones relacionadas