[英]UIImage view encode to base64
我正在尝试将UIImage编码为base64字符串。 我的代码是这样的:
@IBOutlet weak var photoImageView: UIImageView!
let image : UIImage = UIImage(named:"photoImageView")!
let imageData:NSData = UIImagePNGRepresentation(image)!
let strBase64:String = imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)
问题是我得到了这样的错误:“致命错误:在展开可选值时意外发现nil”
我究竟做错了什么?
Prasad的评论可能是您遇到的问题。
对于任何返回可选参数的函数,我通常使用if - let
语法或防护措施确保我不会意外地解开nil。
if let image = UIImage(named:"photoImageView") {
if let imageData = UIImagePNGRepresentation(image) {
// swift 2
// imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)
// swift 3
let strBase64:String = imageData.base64EncodedString(options: [.lineLength64Characters])
} else {
print("can't get PNG representation")
}
} else {
print("can't find photoImageView image file")
}
@Enix您的评论起到了作用。 解决我的问题的方法是这条线
let image = photoImageView.image
如您所指出的,UIImage是使用图像资产而不是图像视图初始化的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.