如何在 swift 2.0 中将 .pdf 文件转换为 base64 字符串?

Posted

技术标签:

【中文标题】如何在 swift 2.0 中将 .pdf 文件转换为 base64 字符串?【英文标题】:how to convert .pdf file to base64 string in swift 2.0? 【发布时间】:2016-08-29 08:03:54 【问题描述】:

我必须快速上传文件,我必须使用 iCloud 来完成,这样我才能使用 icloud 将文件上传到我的服务器

【问题讨论】:

您不必将文件转换为 base64 即可将它们上传到 iCloud。 【参考方案1】:

Swift 3.x

let filePath = ... //URL of the PDF
let fileData = try Data.init(contentsOf: filePath!)
let fileStream:String = fileData.base64EncodedString(options: NSData.Base64EncodingOptions.init(rawValue: 0))

【讨论】:

由于此方法第二行中的文件路径,swift不允许我运行应用程序 它只是一个变量,你可以用你的变量替换它。 filePath是存储文件路径的变量。 不让我再次尝试,因为我想你忘了写 catch error @Hemang Shah 它对我有用,不知道为什么对你不起作用?【参考方案2】:

将pdf文件拖到项目或前五路径按住

 let url1 = Bundle.main.url(forResource: "pdffilename without extension", withExtension: "pdf")
    let one1 = NSData(contentsOf: url1!)
    let pdfstring:String = one1!.base64EncodedString(options: .endLineWithLineFeed)
    print(pdfstring)

【讨论】:

【参考方案3】:
let filePath = "" // real path of the pdf file
let fileData = NSData(contentsOfFile: path)
let fileStream = data.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength) // base64 string

【讨论】:

NSData可以编码为base64字符串,所以先从pdf文件中获取NSData,然后将NSData编码为base64字符串。【参考方案4】:

你会在哪里选择文件,必须给出文件路径:

    先生成base64字符串就可以使用了

    然后生成字节

哪位舒服的可以用。

do 
    let fileData = try Data.init(contentsOf: filePath!)
    let fileStream:String = fileData.base64EncodedString(options: NSData.Base64EncodingOptions.init(rawValue: 0))
    let decodeData = Data(base64Encoded: fileStream, options: .ignoreUnknownCharacters)
    body.append(decodeData!)

catch  

【讨论】:

“你会在哪里选择文件,必须给出文件路径:”和“哪个舒服可以使用它”是什么意思?你能用其他词来描述你的意思吗?

以上是关于如何在 swift 2.0 中将 .pdf 文件转换为 base64 字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何在电脑中将Excel表格格式转换成PDF格式?

如何在 Swift 2.0 中将 HKQuanity 转换为 Int

如何在 Swift 2.0 中将 HKQuanity 转换为 Int

如何在 swift 中将 UIImage 中的 PDF 放入 PDFView 中?

在swift 3中将字节数组转换为PDF

在 Swift 2.0 中将图像添加到 UITableView