Swift將圖片UIImage與base64字符串相互轉化

前言

最近,在項目中遇到需要將圖片(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, 相互討論和學習!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,255評論 4 61
  • 轉載自:https://github.com/Tim9Liu9/TimLiu-iOS[https://github...
    香橙柚子閱讀 8,751評論 0 36
  • 午飯后決定去附近農貿市場走一走,一上午電腦前的工作讓腦子有些昏昏沉沉,我想放松一下,順便買點水果。市場就在...
    youhao1999閱讀 752評論 0 49
  • 我發現很多朋友在寫文章時,都不知道怎么取一個好的標題為此還沒有開始寫就已經沒有了信心,怎么能寫好一篇文章?而...
    葉墨竹閱讀 5,623評論 4 21
  • 表單布局 垂直表單(默認) 內聯表單 水平表單 垂直表單或基本表單 基本的表單結構是 Bootstrap 自帶的,...
    秋楓殘紅閱讀 224評論 0 1