如何在 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 字符串?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 2.0 中将 HKQuanity 转换为 Int
如何在 Swift 2.0 中将 HKQuanity 转换为 Int