[英]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.