簡體   English   中英

iOS Swift base64encoding與PAW應用程序Base64 Encoding不同

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM