参考:
头像保存:
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 ) }