diff --git a/src/android/io/github/pwlin/cordova/plugins/fileopener2/FileOpener2.java b/src/android/io/github/pwlin/cordova/plugins/fileopener2/FileOpener2.java index d4b2fff..b91e3d9 100644 --- a/src/android/io/github/pwlin/cordova/plugins/fileopener2/FileOpener2.java +++ b/src/android/io/github/pwlin/cordova/plugins/fileopener2/FileOpener2.java @@ -95,7 +95,7 @@ public class FileOpener2 extends CordovaPlugin { try { CordovaResourceApi resourceApi = webView.getResourceApi(); Uri fileUri = resourceApi.remapUri(Uri.parse(fileArg)); - fileName = this.stripFileProtocol(fileUri.toString()); + fileName = fileUri.getPath(); } catch (Exception e) { fileName = fileArg; } @@ -178,13 +178,5 @@ public class FileOpener2 extends CordovaPlugin { return appInstalled; } - private String stripFileProtocol(String uriString) { - if (uriString.startsWith("file://")) { - uriString = uriString.substring(7); - } else if (uriString.startsWith("content://")) { - uriString = uriString.substring(10); - } - return uriString; - } - } + diff --git a/src/ios/FileOpener2.m b/src/ios/FileOpener2.m index 761096d..270b7ab 100644 --- a/src/ios/FileOpener2.m +++ b/src/ios/FileOpener2.m @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - (void) open: (CDVInvokedUrlCommand*)command { - NSString *path = [[command.arguments objectAtIndex:0] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; + NSString *path = [[command.arguments objectAtIndex:0] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLPathAllowedCharacterSet]]; NSString *contentType = [command.arguments objectAtIndex:1]; BOOL showPreview = YES; @@ -53,7 +53,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. } dispatch_async(dispatch_get_main_queue(), ^{ - NSURL *fileURL = [NSURL URLWithString:path]; + NSURL *fileURL = [NSURL URLWithString:[path stringByRemovingPercentEncoding]]; localFile = fileURL.path;