[英]iOS Swift base64encoding different than PAW app Base64 Encoding
希望对此有所帮助。 我正在尝试将图像发布到服务器,并且它需要PNG文件的base64编码。 当我使用PAW应用程序并对图像进行编码时,一切都会很好地显示在服务器上。 当我尝试对iOS Swift 4进行相同操作时,生成的字符串是相似的,但也有所不同,因此图像不正确。 关于如何匹配在iOS的PAW应用中正确创建的字符串的任何想法。 我在下面包括了代码以及创建的字符串(小样本)的屏幕截图。
谢谢!
let image : UIImage = UIImage(named:"STG.png")!
let imageData = UIImagePNGRepresentation(image)
var base64String = imageData?.base64EncodedString(options: [])
您根本没有比较相同的数据。 将png加载到UIImage
,然后将UIImage
转换为新的png表示形式根本不会导致相同的字节集。
您需要直接将png文件加载到Data
实例中,而无需进行任何转换。
let imageURL = Bundle.main.url(forResource: "STG", withExtension: "png")!
let imageData = try! Data(contentsOf: imageURL)
var base64String = imageData.base64EncodedString(options: [])
您可能还需要在对base64EncodedString
的调用中尝试其他选项。
好了,钻了几个兔子洞,发现了一些与此相似的人。 我最终通过切换到Alamofire而不是使用本机urlsession解决了它。 我还发现我要发布到的服务器也将允许多部分/表单数据,最终我将其用于我的请求。 我也无法使用本地urlsession使它正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.