前言
最近,在項目中遇到需要將圖片(UIImage)
轉(zhuǎn)化成base64位的字符串
, 然后上傳到服務器茉继, 雖然網(wǎng)上也有很多關(guān)于該技術(shù)的博客谎脯,但是swift版的少之又少,為了方便在入門swift的小伙伴們澳化,或者說為了方便以后自己的回顧崔步,就簡單在此記錄一下。
</br>
圖片 轉(zhuǎn)化成 base64 字符串
// 獲取圖片
let image = UIImage(named: "picture.png")
// 將圖片轉(zhuǎn)化成Data
let imageData = UIImagePNGRepresentation(image!)
// 將Data轉(zhuǎn)化成 base64的字符串
let imageBase64String = imageData?.base64EncodedString()
// 可以使用base64的String類型上傳到server了
print("UIImage is converted to base64 String successfully, imageBase64String is: \(imageBase64String)")
注:你也可以使用
UIImageJPEGRepresentation
("這里是圖片", “這里是壓縮圖片值缎谷,為CGFloat類型”)來將UIImage
轉(zhuǎn)化成Data
類型井濒,兩者方法計算出來的圖片的大小有著一定的區(qū)別。 另外列林,將圖片Data
轉(zhuǎn)化成base64
字符串的時候瑞你,建議使用默認值base64EncodedString()
轉(zhuǎn)化就好,無需使用.base64EncodedData(options: "設(shè)置選擇類型")
畫蛇添足希痴! base64 字符串轉(zhuǎn)化成 圖片同理者甲!
</br>
base64 字符串轉(zhuǎn)化成 圖片
// 將 base64的圖片字符串轉(zhuǎn)化成Data
let imageData2 = Data(base64Encoded: imageBase64String!)
// 將Data轉(zhuǎn)化成圖片
let image2 = UIImage(data: imageData2!)
// 可以使用圖片image2了
print("base64 image string is converted to UIImage successfully, now image is: \(String(describing: image2))")
注: base64EncodedData括號內(nèi)的
options: Data.Base64EncodingOptions>
選擇類型是Base64EncodingOptions, 它是一個結(jié)構(gòu)體砌创,遵循協(xié)議OptionSet
虏缸, 它有4個結(jié)構(gòu)體成員變量。
</br>
歡迎加入 iOS(swift)開發(fā)互助群:QQ群號: 558179558嫩实, 相互討論和學習刽辙!