从 python 服务器获取 base64 图像以在 swift 中设置 UIImage

Getting base64 image from python server to set UIImage in swift

我正在使用 swift/socketio 将图像上传到我的 python 服务器。

发送到服务器

let data = UIImagePNGRepresentation(image)
let base64encoding = data?.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: 3))
let result = client.send(string:base64encoding!)

数据以 base64 字符串的形式发送到服务器。然后我尝试将它发送回我的 xcode 项目并将它放在 UIImage

Python代码

def connectionMade(self):
    self.factory.clients.append(self)
    print "a clinet connected ", self.factory.clients

def connectionLost(self, reason):
    self.factory.clients.remove(self)

def dataReceived(self, data):
    print data

"""Write back to user"""
self.transport.write(data)

发回客户端并解码

guard let receivedMessage = client.read(1024*10) else {return}

if let response = String(bytes: receivedMessage, encoding:.utf8) {
    let decodedData = NSData(base64Encoded: response, options: .ignoreUnknownCharacters)


myImage.image = UIImage(data:decodedData! as Data)
myImage.contentMode = .scaleAspectFill

我的图像正在 UIImage 中设置,但显示时一片漆黑。请帮忙!!!

编码:

 let base64EnCodedStr:String = imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)

解码:

 let decodedData:NSData = NSData(base64EncodedString: base64EnCodedStr, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)!