2016-06-07 64 views
2

以下方法我生病尝试,但图像不能正常显示,它让损失如何将图像转换为base64而无需在swift 2.0中丢失图像?

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
    img_View.image = info[UIImagePickerControllerOriginalImage] as? UIImage 
    let image = info[UIImagePickerControllerOriginalImage] as! UIImage 
    let imageData:NSData = UIImagePNGRepresentation(image)! 
    strImage = imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength) 
    print(strImage) 
    dismissViewControllerAnimated(true, completion: nil) 
} 

这里有损图像Corrupted image here 虽然我我得到完整的图像略有模糊图像解码成我的电脑,但是当我发送我的base64字符串服务(WEBAPI)(Windows PC),他们只得到一半的图像。有人可以帮助我如何解决这个问题

+0

你是什么意思“没有正确显示”?你的意思是'strImage'不打印出编码的图像吗? – Fonix

+0

@Fonix,他我得到像半像的空间图像被损坏。 –

+0

也许'Encoding64CharacterLineLength'选项会干扰使用该base64数据的任何内容,请不要尝试使用任何选项 – Fonix

回答

0

你可能的选项封盖它CharacterLineLength

我只是这样做:imageData.base64EncodedDataWithOptions(NSDataBase64EncodingOptions())

0

斯威夫特3

var sample = UIImage(named: "try-swift-logo") 
    let imageData:Data = UIImagePNGRepresentation(sample!)! 
    let base64String = imageData.base64EncodedString() 
相关问题