Swift base64不正常
我正在使用Vapor框架下载一个PDF文件:Swift base64不正常,swift,base64,vapor,Swift,Base64,Vapor,我正在使用Vapor框架下载一个PDF文件: let logpw = "myLogin:passWord" let url = "https://someRESTsite/invoices/1.pdf" let utf8str = logpw.data(using: String.Encoding.utf8) let base64Encoded = utf8str?.base64EncodedString() let response = try dro
let logpw = "myLogin:passWord"
let url = "https://someRESTsite/invoices/1.pdf"
let utf8str = logpw.data(using: String.Encoding.utf8)
let base64Encoded = utf8str?.base64EncodedString()
let response = try drop.client.get(url, headers:["Authorization":"Basic " + base64Encoded!])
这个很好用。请注意,我对基本身份验证的登录/pw进行了base64编码,这可用于登录和获取文件。现在,我必须使用类似的代码将该PDF嵌入base64中的XML文件:
if let bodyBytes = response.body.bytes {
let bodyByteString = try String(bytes: bodyBytes)
let utf8String = bodyByteString(using: String.Encoding.utf8)
let base64String = utf8String?.base64EncodedString()
}
结果是一个实际上看起来像base64字符串的字符串,但它不同于使用在线工具转换相同的PDF(我尝试了2,得到了相同的结果)
我的错误在哪里?你知道PDF的格式吗?也许它已经在base64中了?它不在base64中,当用浏览器下载它时,它只是一个PDF文件。在我的应用程序中下载并打印(response.body)时,它看起来像:-body:%PDF-1.6%1 0 obj