下面是我使用的PHP和Swift3代码。自斯威夫茨早期以来,这种语言已经发生了变化。有人知道吗?
PHP程序成功地检索了照片,并将其编码为base64。我可以在safari和Xcode调试器中看到它。Xcode8 8/Swift3 3运行时没有出错,但它不显示图像。有什么建议吗?
PHP
<?php
$photo=file_get_contents("pic3-1.jpg");
$base64=base64_encode($photo);
$data=Array("photo"=>$base64");
echo json_encode($data);
?>这读起来很好,但是Swift3没有显示它。
XCode8 Swift3
@IBAction func load(_ sender: UIButton) {
let myUrl = NSURL(string:
"http://www.example.com/connect9.php")
var request = URLRequest(url:URL(string:
"http://www.example.com/connect9.php")!)
request.httpMethod = "POST"
let postString = ""
request.httpBody = postString.data(using: .utf8);
let task = URLSession.shared.dataTask(with: request) { data,
response, error in
guard let data = data else {
print("request failed \(error)")
return
}
do {
if var json = try JSONSerialization.jsonObject(with: data)
as? [String: String], var photo64 = json["photo"] {
var b64=photo64 as String
var unencodedString=Data(base64Encoded: b64)
var photo=UIImage(data: unencodedString!)!
self.view1.image=photo
}
} catch let parseError {
print("parsing error: \(parseError)")
let responseString = String(data: data, encoding: .utf8)
print("raw response: \(responseString)")
}
}
task.resume()
}发布于 2016-11-04 18:13:13
服务器上的数据需要编码。
https://stackoverflow.com/questions/40101918
复制相似问题