This commit is contained in:
SpikeHD
2022-05-15 17:00:56 -07:00
parent f1b8fae4c9
commit c8049aebea

View File

@@ -4,7 +4,8 @@ use std::io::Read;
#[tauri::command] #[tauri::command]
pub fn unzip(zipfile: &str, zippath: &str, destpath: &str) { pub fn unzip(zipfile: &str, zippath: &str, destpath: &str) {
let mut f = match File::open(zipfile) { // Read file
let f = match File::open(zipfile) {
Ok(f) => f, Ok(f) => f,
Err(e) => { Err(e) => {
println!("Failed to open zip file: {}", e); println!("Failed to open zip file: {}", e);
@@ -12,8 +13,9 @@ pub fn unzip(zipfile: &str, zippath: &str, destpath: &str) {
} }
}; };
let mut reader = std::io::Cursor::new(&f); let reader = std::io::Cursor::new(&f);
// Init zip reader
let mut zip = match zip::ZipArchive::new(&f) { let mut zip = match zip::ZipArchive::new(&f) {
Ok(zip) => zip, Ok(zip) => zip,
Err(e) => { Err(e) => {
@@ -22,24 +24,30 @@ pub fn unzip(zipfile: &str, zippath: &str, destpath: &str) {
} }
}; };
// Iterate zip files
for i in 0..zip.len() for i in 0..zip.len()
{ {
let mut file = match zip.by_index(i) { // Get file
Ok(file) => file, let mut file = match zip.by_index(i) {
Err(e) => { Ok(file) => file,
println!("Could not open zip file: {}", e); Err(e) => {
return; println!("Could not open zip file: {}", e);
} return;
}; }
};
println!("Filename: {}", file.name()); println!("Filename: {}", file.name());
let first_byte = match file.bytes().next() {
Some(b) => b.unwrap(), // Read the first byte if it is a file
None => { let first_byte = match file.bytes().next() {
println!("File is empty: {}", &zipfile); Some(b) => b,
continue; None => {
} println!("Could not read first byte of file");
}; return;
println!("{:?}", first_byte); }
};
// Output first byte
println!("{:?}", first_byte);
} }
} }