swift 头像上传(3)头像保存与读取

前端之家收集整理的这篇文章主要介绍了swift 头像上传(3)头像保存与读取前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

参考:

头像保存:

http://blog.csdn.net/codingfire/article/details/51943286

http://www.cnblogs.com/linxiu-0925/p/5885638.html

头像获取显示参考

http://blog.csdn.net/CodingFire/article/details/52128773


  1. //把选择的头像保存到本地
  2. func saveImage(image:UIImage)->String{
  3. //修正图片的位置
  4. //下面一句代码报错,暂时没有找到解决方法,以后有时间再弄吧
  5. //let image = fixOrientation((info[UIImagePickerControllerOriginalImage] as! UIImage))
  6. //先把图片转成NSData
  7. let data = UIImageJPEGRepresentation(image,0.5)
  8. //显示图片
  9. //self.imageview.image = UIImage(data: data!)
  10. //图片保存的路径
  11. //这里将图片放在沙盒的documents文件夹中
  12. //Home目录
  13. let homeDirectory = NSHomeDirectory()
  14. let documentPath = homeDirectory + "/Documents"
  15. //文件管理器
  16. let fileManager: NSFileManager = NSFileManager.defaultManager()
  17. //把刚刚图片转换的data对象拷贝至沙盒中 并保存为image.png
  18. do {
  19. try fileManager.createDirectoryAtPath(documentPath,withIntermediateDirectories: true,attributes: nil)
  20. }
  21. catch _ {
  22. }
  23. fileManager.createFileAtPath(documentPath.stringByAppendingString("/image.png"),contents: data,attributes: nil)
  24. //得到选择后沙盒中图片的完整路径
  25. let filePath: String = String(format: "%@%@",documentPath,"/image.png")
  26. // print("filePath:" + filePath)
  27. return filePath
  28. }



使用方法
  1. //添加代理方法,用于执行图片拾取完成后的代码
  2. func imagePickerController(picker: UIImagePickerController,didFinishPickingMediaWithInfo info: [String : AnyObject]) {
  3. //判断是否允许裁剪
  4. if(picker.allowsEditing){
  5. //裁剪后图片
  6. let image = info["UIImagePickerControllerEditedImage"]as? UIImage
  7. // self.imageview.image = image
  8. let type: String = (info[UIImagePickerControllerMediaType] as! String)
  9. print(type)
  10. let imagePath:String = saveImage(image!)
  11. //根据保存路径获取显示图片
  12. let lastData = NSData(contentsOfFile: imagePath)
  13. self.imageview.image = UIImage(data: lastData!)
  14. }else{
  15. //原始图片
  16. let image = info["UIImagePickerControllerOriginalImage"]as? UIImage
  17. //self.imageview.image = image
  18. let type: String = (info[UIImagePickerControllerMediaType] as! String)
  19. print(type)
  20. let imagePath:String = saveImage(image!)
  21. //根据路径获取图片显示
  22. let lastData = NSData(contentsOfFile: imagePath)
  23. self.imageview.image = UIImage(data: lastData!)
  24. }
  25. self.dismissViewControllerAnimated(true,completion: nil )
  26. }

猜你在找的Swift相关文章