2009-05-23 16 views
6

Bất kỳ ai cũng biết một thư viện JavaScript đơn giản triển khai thuật toán UNZIP? Không có quyền truy cập tệp đĩa, chỉ nén và giải nén một chuỗi giá trị.giải nén các chuỗi trong javascript

Có ActiveX, sử dụng WinZIP và phần mềm phụ thuộc ứng dụng khách khác cho ZIP, được viết bằng JS. Nhưng không thực hiện thuật toán JavaScript thuần túy.

Tôi sẽ sử dụng nó để hiển thị tệp KMZ trong trang HTML có đối tượng GMap (bản đồ google). Tệp KMZ chỉ là tệp KML được nén. Tôi muốn giải nén tệp KMZ và nạp KML vào GMap.

+0

Những gì bạn cần là gì? – Gumbo

+0

Làm thế nào nó sẽ hữu ích khi JavaScript thực sự không có cách nào để ghi vào tập tin, và vòng lặp của nó là khá chậm chạp. – epascarello

+0

Để làm gì? Câu hỏi dễ. Để giảm kích thước mã nguồn của trang và mở rộng nó ở phía máy khách. –

Trả lời

1

Có lẽ ZipReader từ Mozilla có thể được sử dụng cho những gì bạn đang làm sau.

https://developer.mozilla.org/en/nsIZipReader

+1

Đọc câu hỏi của bạn một lần nữa thực sự khiến tôi tự hỏi tại sao bạn cần phải giải nén KMZ để KML được sử dụng với Google Maps khi cả hai định dạng tệp đều có thể được sử dụng trực tiếp. http://maps.google.com/support/bin/answer.py?hl=vi&answer=41136 –

+0

vâng, bạn nói đúng ... một số người có một số vấn đề, http://groups.google khó khăn. com/group/Google-Maps-API/browse_thread/thread/c0efb3a854563312 –

+0

nhưng, nslZipReader sẽ chỉ chạy trên trình duyệt của Mozilla phải không? –

1

DotNetZip có một giao diện COM, mà có thể được truy cập từ Javascript. Nó có khả năng giải nén luồng-to-stream, nhưng tôi chưa bao giờ thử sử dụng nó từ Javascript.
Ngoài ra tôi chưa bao giờ thử sử dụng thư viện theo bất kỳ cách nào từ bên trong IE.

1

Tôi biết đây là một câu hỏi cũ với một câu trả lời được chấp nhận, nhưng chỉ vì lợi ích của thông tin thú vị, tôi sẽ gửi câu trả lời khác. Tôi đặt cùng một thư viện chỉ javascript để đọc và giải nén các tệp zip từ bất kỳ trình duyệt nào. Nó không yêu cầu ZipReader của Mozilla cũng như bất kỳ ActiveX nào (ngoài XMLHttpRequest).

Bạn có thể thấy một ví dụ làm việc ở đây:
http://cheeso.members.winisp.net/Unzip-Example.htm

Và bạn có thể tải về mã nguồn từ đây:
http://cheeso.members.winisp.net/examples.aspx#js