我从服务器获取了 PDF base64 字符串,它看起来像这样:
"data:application/pdf;base64,JVBERi0x...."
现在我想分享这个文件。我正在使用 Cordova 社交分享插件,效果很好。 但如何指定文件名呢?现在,它只显示默认名称,例如“PDF document.pdf”
//activityItems is the base64 string
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
最佳答案
您有两种选择来执行此功能。
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];
关于ios - 当我在 IOS 中通过 UIActivityViewController 共享 PDF base64 字符串时如何重命名文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56963354/