muszę przechowywać dużą ilość tekstu w WebSQl, więc zdecydowałem się skompresować tekst z zip.js i przechowywania sprężonego Blobsjavascript - zip kropelka z zip.js
Z dokumentacji można skompresować blob w następujący sposób:
function zipBlob(filename, blob, callback) {
// use a zip.BlobWriter object to write zipped data into a Blob object
zip.createWriter(new zip.BlobWriter("application/zip"), function(zipWriter) {
// use a BlobReader object to read the data stored into blob variable
zipWriter.add(filename, new zip.BlobReader(blob), function() {
// close the writer and calls callback function
zipWriter.close(callback);
});
}, onerror);
}
Chociaż to działa, nie rozumiem, dlaczego musisz podać nazwę pliku. Czy to naprawdę konieczne? I czy ten plik jest zawsze usuwany po kompresji?
Cheers
bardzo miłe! Chociaż kompresja nie jest tak dobra jak w przypadku zip.js, ale wciąż jest bardzo interesującą alternatywą !! thnx –
Moja przyjemność Jeanluca, cieszę się, że to może być potencjalna alternatywa dla ciebie. Tak, zdecydowanie istnieje wiele przypadków, w których zip ma znacznie większą wydajność LZJB z punktu widzenia kompresji. W przypadku niektórych danych będzie to mniej więcej tak samo ekwiwalentne; jest jednak ultraszybki i jeśli robisz tę prędkość po stronie przeglądarki, zazwyczaj jest to bardzo ważne. I zawsze jest taka korzyść z tego, że jest łatwiejszy w użyciu dla programisty, przynajmniej z mojego doświadczenia. Jest tam także kilka ukrytych metod kodowania/dekodowania base64, których nie ujawniłem w nieco zmodyfikowanej wersji w poście, jeśli ich potrzebujesz. – hoonto
Jeanluca, zostawiając notatkę dla ciebie na wszelki wypadek - w moim przykładzie w tym przykładzie było literówka, brakowało średnika po deklaracji obiektu fastcompressor na górze. Więc chciałeś, żebyś był tego świadomy. Właśnie to naprawiłem. – hoonto