瀏覽代碼

openDocument&previewDocument utf8

Supports file names in more languages
960px 8 年之前
父節點
當前提交
4bfba6c94c
共有 1 個檔案被更改,包括 6 行新增4 行删除
  1. 6
    4
      src/ios/RNFetchBlob/RNFetchBlob.m

+ 6
- 4
src/ios/RNFetchBlob/RNFetchBlob.m 查看文件

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