Convert between UIImage and Base64 string

后端 未结 24 2875
抹茶落季
抹茶落季 2020-11-22 01:45

Does anyone know how to convert a UIImage to a Base64 string, and then reverse it?

I have the below code; the original image before encoding is good, bu

24条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-22 02:19

    Swift 4

    enum ImageFormat {
        case png
        case jpeg(CGFloat)
    }
    
    extension UIImage {
        func base64(format: ImageFormat) -> String? {
            var imageData: Data?
    
            switch format {
            case .png: imageData = UIImagePNGRepresentation(self)
            case .jpeg(let compression): imageData = UIImageJPEGRepresentation(self, compression)
            }
    
            return imageData?.base64EncodedString()
        }
    }
    
    extension String {
        func imageFromBase64() -> UIImage? {
            guard let data = Data(base64Encoded: self) else { return nil }
    
            return UIImage(data: data)
        }
    }
    

提交回复
热议问题