Explorar el Código

fix: Get filename error

#165
MystiPanda hace 1 año
padre
commit
99851b297d
Se han modificado 1 ficheros con 11 adiciones y 7 borrados
  1. 11 7
      src-tauri/src/config/prfitem.rs

+ 11 - 7
src-tauri/src/config/prfitem.rs

@@ -264,14 +264,18 @@ impl PrfItem {
         // parse the Content-Disposition
         let filename = match header.get("Content-Disposition") {
             Some(value) => {
-                let filename = value.to_str().unwrap_or("");
-                match help::parse_str::<String>(filename, "filename") {
-                    Some(filename) => Some(filename),
-                    None => match help::parse_str::<String>(filename, "filename*") {
+                let filename = format!("{value:?}");
+                let filename = filename.trim_matches('"');
+                match help::parse_str::<String>(filename, "filename*") {
+                    Some(filename) => {
+                        let iter = percent_encoding::percent_decode(filename.as_bytes());
+                        let filename = iter.decode_utf8().unwrap_or_default();
+                        filename.split("''").last().map(|s| s.to_string())
+                    }
+                    None => match help::parse_str::<String>(filename, "filename") {
                         Some(filename) => {
-                            let iter = percent_encoding::percent_decode(filename.as_bytes());
-                            let filename = iter.decode_utf8().unwrap_or_default();
-                            filename.split("''").last().map(|s| s.to_string())
+                            let filename = filename.trim_matches('"');
+                            Some(filename.to_string())
                         }
                         None => None,
                     },