在我的swift應用程序中,我需要將圖像轉換爲字符串,然後我需要發送到服務器,即POST。然後,如果我需要GET,我不想解碼。具有圖像文件名稱和路徑的響應。編碼字符串在swift中不工作
在線轉換器:
如果我通過網上轉換器轉換的樣本圖像,HERE.我得到下面的字符串。如果我將此字符串傳遞給API,則可以成功獲取圖像。
輸出:
iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR .... ..... CIBhIIgQRCIIEQSCAQAgmEQAIhkEAIJBAIgQRCIIEQSCAEEgiEQAIhkEAIJCgN/F + AAQAXoGXl + IGgwwAAAABJRU5ErkJggg ==
通過我的編碼
如果我轉換的樣本圖像通過編碼,我正在跟隨字符串。如果我將此字符串傳遞給API,則成功添加。但是,我無法在瀏覽器中手動查看該圖像。
More Over ,,兩個輸出字符串不一樣。我不知道爲什麼?請引導我,如何解決這個問題?
代碼:
var image : UIImage = UIImage(named: "home_recharge.png")!
var imageData = UIImagePNGRepresentation(image)
let base64String = imageData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.allZeros)
println("base64String \(base64String)")
輸出:
iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAAABxpRE9UAAAAAgAAAAAAAABIAAAAKAAAAEgAAABIAAAKygzM7MwAAAqWSURBVHgB7FwJ0JZDHC9yhJTkLuRMjuQ + opAr5zjGqAwZx ...... ....... FlIs5ASSDNQLA7EMtYMpBlICaQZKBYHYhlrBtIMpATSDBSLA7GMNQNpBlICaQaKxYFYxpqBNAMpgTQDxeJALGPNQJqBlECagWJxIJaxZiDNQP8B + 6MkTad9NtcAAAAASUVORK5CYII =
輸出字符串不同,因爲在線轉換器和'UIImagePNGRepresentation()'可能使用不同的算法或壓縮選項。 – mixel
「我無法在瀏覽器中查看該圖像」是什麼意思?你如何試圖做到這一點?當您將圖像發佈到API時,您的服務器必須從base64解碼並將其寫入文件。所以你可以打開這個文件並查看圖像。 – mixel
是的,你是正確的@mixel。但是,從響應我得到圖像路徑爲「http://192.178.2。...... /image.jpg」 –