从 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)!
我正在使用 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)!