diff --git a/packages/web/src/files.rs b/packages/web/src/files.rs index 75a3b29946..d09c2e41dc 100644 --- a/packages/web/src/files.rs +++ b/packages/web/src/files.rs @@ -135,6 +135,16 @@ impl NativeFileData for WebFileData { } fn path(&self) -> std::path::PathBuf { + let key = JsValue::from_str("webkitRelativePath"); + + if let Ok(value) = js_sys::Reflect::get(&self.file, &key) { + if let Some(path_str) = value.as_string() { + if !path_str.is_empty() { + return std::path::PathBuf::from(path_str); + } + } + } + std::path::PathBuf::from(self.file.name()) }