参考:
头像保存:
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
- //把选择的头像保存到本地
- func saveImage(image:UIImage)->String{
- //修正图片的位置
- //下面一句代码报错,暂时没有找到解决方法,以后有时间再弄吧
- //let image = fixOrientation((info[UIImagePickerControllerOriginalImage] as! UIImage))
- //先把图片转成NSData
- let data = UIImageJPEGRepresentation(image,0.5)
- //显示图片
- //self.imageview.image = UIImage(data: data!)
- //图片保存的路径
- //这里将图片放在沙盒的documents文件夹中
- //Home目录
- let homeDirectory = NSHomeDirectory()
- let documentPath = homeDirectory + "/Documents"
- //文件管理器
- let fileManager: NSFileManager = NSFileManager.defaultManager()
- //把刚刚图片转换的data对象拷贝至沙盒中 并保存为image.png
- do {
- try fileManager.createDirectoryAtPath(documentPath,withIntermediateDirectories: true,attributes: nil)
- }
- catch _ {
- }
- fileManager.createFileAtPath(documentPath.stringByAppendingString("/image.png"),contents: data,attributes: nil)
- //得到选择后沙盒中图片的完整路径
- let filePath: String = String(format: "%@%@",documentPath,"/image.png")
- // print("filePath:" + filePath)
- return filePath
- }
- //添加代理方法,用于执行图片拾取完成后的代码
- func imagePickerController(picker: UIImagePickerController,didFinishPickingMediaWithInfo info: [String : AnyObject]) {
- //判断是否允许裁剪
- if(picker.allowsEditing){
- //裁剪后图片
- let image = info["UIImagePickerControllerEditedImage"]as? UIImage
- // self.imageview.image = image
- let type: String = (info[UIImagePickerControllerMediaType] as! String)
- print(type)
- let imagePath:String = saveImage(image!)
- //根据保存路径获取并显示图片
- let lastData = NSData(contentsOfFile: imagePath)
- self.imageview.image = UIImage(data: lastData!)
- }else{
- //原始图片
- let image = info["UIImagePickerControllerOriginalImage"]as? UIImage
- //self.imageview.image = image
- let type: String = (info[UIImagePickerControllerMediaType] as! String)
- print(type)
- let imagePath:String = saveImage(image!)
- //根据路径获取图片并显示
- let lastData = NSData(contentsOfFile: imagePath)
- self.imageview.image = UIImage(data: lastData!)
- }
- self.dismissViewControllerAnimated(true,completion: nil )
- }