首页 > 解决方案 > 当我通过 IOS 中的 UIActivityViewController 共享 PDF base64 字符串时如何重命名文件名

问题描述

我从服务器得到 PDF base64 字符串,它看起来像这样:

“数据:应用程序/pdf;base64,JVBERi0x....”

现在我想分享这个文件。我正在使用 Cordova 社交分享插件,效果很好。但是如何分配文件名?现在,它只显示默认名称,例如“ PDF document.pdf

//activityItems is the base64 string
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];

在此处输入图像描述

标签: iosobjective-ccordova-plugins

解决方案


将文件从 URL 保存到临时目录,然后在 UIActivityViewController 中使用它

let temporaryDir = FileManager.default.temporaryDirectory
let tempFilePath = temporaryDir.appendingPathComponent(pass the file name you want to show here)
do {
    try? Data(contentsOf: pass the file URL here).write(to: tempFilePath, options: .atomic)
  }
  
let activityViewController = UIActivityViewController(activityItems:  [tempFilePath], applicationActivities: nil)
present(activityViewController, animated: true, completion: nil)

推荐阅读