繁体   English   中英

UIImage视图编码为base64

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM