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...
    肇东周阅读 14,195评论 4 61
  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS[https://github...
    香橙柚子阅读 12,830评论 0 36
  • 午饭后决定去附近农贸市场走一走,一上午电脑前的工作让脑子有些昏昏沉沉,我想放松一下,顺便买点水果。市场就在...
    youhao1999阅读 4,042评论 0 49
  • 我发现很多朋友在写文章时,都不知道怎么取一个好的标题为此还没有开始写就已经没有了信心,怎么能写好一篇文章?而...
    叶墨竹阅读 10,898评论 4 21
  • 表单布局 垂直表单(默认) 内联表单 水平表单 垂直表单或基本表单 基本的表单结构是 Bootstrap 自带的,...
    秋枫残红阅读 1,482评论 0 1