Browse Source

openDocument&previewDocument utf8

Supports file names in more languages
960px 8 years ago
parent
commit
4bfba6c94c
1 changed files with 6 additions and 4 deletions
  1. 6
    4
      src/ios/RNFetchBlob/RNFetchBlob.m

+ 6
- 4
src/ios/RNFetchBlob/RNFetchBlob.m View File

440
 
440
 
441
 RCT_EXPORT_METHOD(previewDocument:(NSString*)uri scheme:(NSString *)scheme resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject
441
 RCT_EXPORT_METHOD(previewDocument:(NSString*)uri scheme:(NSString *)scheme resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject
442
 {
442
 {
443
-    
444
-    NSURL * url = [[NSURL alloc] initWithString:uri];
443
+    NSString * utf8uri = [uri stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
444
+    NSURL * url = [[NSURL alloc] initWithString:utf8uri];
445
+    // NSURL * url = [[NSURL alloc] initWithString:uri];
445
     documentController = [UIDocumentInteractionController interactionControllerWithURL:url];
446
     documentController = [UIDocumentInteractionController interactionControllerWithURL:url];
446
     UIViewController *rootCtrl = [[[[UIApplication sharedApplication] delegate] window] rootViewController];
447
     UIViewController *rootCtrl = [[[[UIApplication sharedApplication] delegate] window] rootViewController];
447
     documentController.delegate = self;
448
     documentController.delegate = self;
459
 
460
 
460
 RCT_EXPORT_METHOD(openDocument:(NSString*)uri scheme:(NSString *)scheme resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject
461
 RCT_EXPORT_METHOD(openDocument:(NSString*)uri scheme:(NSString *)scheme resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject
461
 {
462
 {
462
-    
463
-    NSURL * url = [[NSURL alloc] initWithString:uri];
463
+    NSString * utf8uri = [uri stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
464
+    NSURL * url = [[NSURL alloc] initWithString:utf8uri];
465
+    // NSURL * url = [[NSURL alloc] initWithString:uri];
464
     documentController = [UIDocumentInteractionController interactionControllerWithURL:url];
466
     documentController = [UIDocumentInteractionController interactionControllerWithURL:url];
465
     documentController.delegate = self;
467
     documentController.delegate = self;
466
     
468