当我通过IOS中的UIActivityViewController共享PDF base64字符串时如何重命名文件名

时间:2019-07-10 04:19:28

标签: ios objective-c cordova-plugins

我从服务器获取了PDF base64字符串,如下所示:

  

“ data:application / pdf; base64,JVBERi0x ....”

现在,我想共享此文件。我正在使用Cordova社交共享插件,它运行良好。 但是,如何分配文件名?现在,它仅显示默认名称,例如“ PDF document.pdf

  def checkMe(a: Any) = a match {
    case a: Int => "I am an Integer"
    case a: Double => "I am a Double"
    case a: Char => "I am a Charecter"
    case _ => "I am something else"
  }

enter image description here

1 个答案:

答案 0 :(得分:0)

您有两种选择来实现此功能。

1)您可以在文档目录中重命名文件。

2)要将文件名保存到文档目录中时,可以更改它。

1)如何在文档目录中更改文件名:

- (BOOL)renameFileFrom:(NSString*)oldName to:(NSString *)newName
{
    NSString *documentDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                   NSUserDomainMask, YES) objectAtIndex:0];
    NSString *oldPath = [documentDir stringByAppendingPathComponent:oldName];
    NSString *newPath = [documentDir stringByAppendingPathComponent:newName];

    NSFileManager *fileMan = [NSFileManager defaultManager];
    NSError *error = nil;
    if (![fileMan moveItemAtPath:oldPath toPath:newPath error:&error])
    {
        NSLog(@"Failed to move '%@' to '%@': %@", oldPath, newPath, [error localizedDescription]);
        return NO;
    }
    return YES;
}

2)在将文件保存到文档目录时如何更改文件名:

- (NSURL *)applicationDocumentsDirectory {
    return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory 
         inDomains:NSUserDomainMask] lastObject];
}

NSString *path = [[self applicationDocumentsDirectory].path 
                       stringByAppendingPathComponent:@"fileName.pdf"];
[sampleText writeToFile:path atomically:YES
                       encoding:NSUTF8StringEncoding error:nil];