fix(ios): decode percent-encoded file URIs in copy_uri_to_path (#3553)

This commit is contained in:
Huang Xin 2026-03-17 20:17:42 +08:00 committed by GitHub
parent 3831f24ff7
commit b2bb92036b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -836,8 +836,18 @@ class NativeBridgePlugin: Plugin {
return invoke.reject("URI and destination path must be provided")
}
guard let uri = URL(string: uriString) else {
return invoke.reject("Invalid URI")
let uri: URL
if uriString.hasPrefix("file://") {
let path = String(uriString.dropFirst("file://".count))
guard let decodedPath = path.removingPercentEncoding else {
return invoke.reject("Invalid URI encoding")
}
uri = URL(fileURLWithPath: decodedPath)
} else {
guard let parsed = URL(string: uriString) else {
return invoke.reject("Invalid URI")
}
uri = parsed
}
let fileManager = FileManager.default