Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9b28fe7

Browse files
committed
New: File zip unzip helper.
1 parent fdbc4d0 commit 9b28fe7

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

‎jquery/unzip.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// Import JSZip if using module-based JavaScript (for npm installs)
2+
import JSZip from "jszip";
3+
4+
// Function to unzip a file
5+
async function unzipFile(file) {
6+
const zip = new JSZip();
7+
8+
try {
9+
// Load the zip file
10+
const loadedZip = await zip.loadAsync(file);
11+
12+
// Extract each file
13+
const extractedFiles = {};
14+
await Promise.all(
15+
Object.keys(loadedZip.files).map(async (filename) => {
16+
const content = await loadedZip.files[filename].async("string"); // 'string' or 'blob' based on your need
17+
extractedFiles[filename] = content;
18+
})
19+
);
20+
21+
console.log("Extracted Files:", extractedFiles);
22+
return extractedFiles;
23+
} catch (err) {
24+
console.error("Error unzipping file:", err);
25+
return null;
26+
}
27+
}
28+
29+
// Usage example:
30+
// Assuming `fileInput` is a file input element
31+
document.getElementById('fileInput').addEventListener('change', async (event) => {
32+
const file = event.target.files[0];
33+
if (file) {
34+
const unzippedContent = await unzipFile(file);
35+
console.log(unzippedContent);
36+
}
37+
});
38+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /