decode file url with percent escape for android and ios.

This commit is contained in:
JoxC 2018-03-05 15:25:59 +08:00 committed by JoxC
parent 681d39b140
commit 8c8bb90de0
2 changed files with 4 additions and 12 deletions

View File

@ -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;
}
}

View File

@ -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;