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