Są 2 problemy tutaj
Jak napisać kod.
Jaki format użyć.
W formacie pliku nie można używać formatu .ZIP, ponieważ .ZIP umieszcza spis treści na końcu pliku. Oznacza to, że musisz pobrać cały plik, zanim będziesz wiedział, co w nim jest. Zip ma nagłówki, które możesz skanować, ale te nagłówki nie są oficjalną listą tego, co znajduje się w pliku.
Program Zip jawnie umieszcza spis treści na końcu, ponieważ umożliwia szybkie dodawanie plików.
Załóżmy, że masz plik zip zawierający pliki "a", "b" i "c". Chcesz zaktualizować "c". Jest on całkowicie poprawny w pliku zip, aby odczytać spis treści, dołączyć nowy c, napisać nowy spis treści wskazujący na nowe "c", ale stare "c" jest nadal w pliku. Jeśli wyszukujesz nagłówki, zobaczysz stare "c", ponieważ wciąż znajduje się w pliku.
Ta funkcja dołączania była wyraźnym celem projektu zip. Pochodzi z lat 80., kiedy zip mógł objąć wiele dyskietek. Jeśli chciałbyś dodać plik, musiałby przeczytać wszystkie N-płyty tylko po to, aby ponownie zapisać cały plik zip. Zamiast tego format po prostu pozwala na dołączenie zaktualizowanych plików do końca, co oznacza, że potrzebuje tylko ostatniej płyty. Po prostu czyta stary spis treści, dołącza nowe pliki, pisze nowy spis treści.
Gzipowane pliki tar nie mają tego problemu.Pliki tar są przechowywane w nagłówku, pliku, pliku nagłówkowym, a kompresja jest na wierzchu, więc możliwe jest rozpakowanie jako plik, który jest pobrany i użycie plików, gdy tylko będą dostępne. Możesz tworzyć spakowane pliki gatu z łatwością w oknach za pomocą WinRAR (komercyjny) lub 7-zip (bezpłatny), a na Linux, osx i cygwin użyj polecenia tar.
na kodzie pisać,
O3D to robi i jest open source, dzięki czemu można spojrzeć na kod http://o3d.googlecode.com
Kod dekompresji jest w O3D/Import/cross/...
Skierowany jest na NPAPI za pomocą kleju, który można znaleźć w o3d/plugin/cross
jakie rozwiązanie znalazłeś? –