2012-06-07 8 views
5

Próbuję odtwarzać pliki multimedialne z lokalnego systemu plików. Użytkownik wybiera teraz plik poprzez "wejście" i odtwarza go. Chciałabym zachować ten odnośnik do pliku, aby odwiedzający następnym razem mógł powiedzieć mu, ile razy grał przed nim, kiedy, itp.,plik odniesienia pliku trwałego z html5

Powinienem albo pobrać plik referencyjny z serwera lub przechowywać go lokalnie .. wszelkie pomysły, jak to zrobić?

+0

Obecnie to rozwiązanie tymczasowe, prosząc użytkownika o wybranie plików za każdym razem on/ona otwiera stronę internetową. zapisz dane w db, używając rozmiaru w bajtach jako unikalnego identyfikatora. – Skeptor

Odpowiedz

0

Co można zrobić, to zapisać user.recent_files (tylko nazwy) w bazie danych, i wykonać kilka obliczeń zbiorczych, aby pokazać mu, ile razy go wcześniej oglądał.

To, czego nie możesz zrobić, to pozwolić mu kliknąć łącze uprzednio przeczytanego pliku, aby przeczytać go ponownie, dobrze z samym HTML5.

Rgds.

1

Możesz przechowywać informacje audio lub wideo na stronie klienta za pomocą IndexedDB lub localStorage. Przechowywanie lokalny jest łatwiejszy w użyciu IMO:

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

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

jednak zauważyć, że nie będzie w stanie uzyskać pełną ścieżkę do pliku, a to uniemożliwić odtwarzanie tego samego pliku następnym razem. Jednym z możliwych rozwiązań jest zapisanie pliku w numerze Base-64 i bezpośrednie umieszczenie go w <video> lub <audio>, którego używam do przechowywania pliku w utworzonym przeze mnie rozszerzeniu Google Chrome.

+0

spowoduje to skopiowanie całego prawa do danych? ... Obecnie rozważam umożliwienie użytkownikowi odtworzenia całego zestawu piosenek .. :( jeśli tylko mogę zapisać ścieżkę pliku, byłoby super – Skeptor

+0

@Skeptor - Nie możesz znać pełnej ścieżki z powodów bezpieczeństwa. Właściwie, przechowywanie wszystkich utworów w bazie danych (WebSQL) nie jest złym pomysłem, ponieważ jest to tym, co było przeznaczone. –

+0

, więc jakikolwiek pomysł na kompresję (jeśli jest) – Skeptor

1

Czy istnieje powód, dla którego należy przechowywać sam plik? Z tego, co przeczytałem, brzmiało to tak, jakbyś chciał być w stanie zachować liczbę razy, w którą gra. Można to osiągnąć poprzez zahaczenie pliku, a następnie zachowanie powiązania z hashem pliku, a nie samego pliku w coś podobnego do localstorage.

Krótki przykład użycia implementacji javascript md5 przez osobę, którą znalazłem w google zawartą w komentarzach.

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

+0

Mogę mieć pliki 1000s, mieszanie jest trudne: (Znalazłem tymczasowe rozwiązanie, dodane w komentarzach do pytania. Proszę je skomentować – Skeptor