このコードは機能しますか?私はAPI基本的http://jsonplaceholder.typicode.com/photos/3
{
"albumId": 1,
"id": 3,
"title": "officia porro iure quia iusto qui ipsa ut modi",
"url": "http://placehold.it/600/24f355",
"thumbnailUrl": "http://placehold.it/150/1941e9"
}
の応答から見ることができるように、あなたはこのコードsubDataJSON["url"].stringValue
にやっていること、それは「http://placehold.it/600/24f355」を返しますあなたは、「URL」ノードの値を取得していることです。だから、私はそれがあなたの期待通りのbase64文字列ではないと思います。代わりにこのコード
let decodedData = NSData(contentsOfURL: NSURL(string: base64String))
を試してみてください
let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0))
を呼び出す我々は同期呼び出しているようしかし、これは、ブロックあなたのUIスレッドがあります。よりよいアプローチは
let dataTask: NSURLSessionDataTask = NSURLSession.sharedSession().dataTaskWithURL(NSURL(string: "")!) { (
data, response, error) -> Void in
if let imageView = self.MyImage {
dispatch_async(dispatch_get_main_queue()) {
imageView.image = UIImage(data: data)
}
}
};
dataTask.resume()
出典
2016-04-26 04:23:59
HDT
ありがとうございます!しかし、私はあなたに尋ねたいと思います。イメージがAPIで文字列として保存されたらどうなりますか?どのようにBase64からUIImageにデコード?私の友人が私のためにAPIを書いてくれるので、画像は文字列として戻ってくると私は自分のアプリケーションでそれを使用するためにデコードする必要があると言いました。どうすればいいですか?テストコード用の文字列イメージを持つ準備ができているAPiはありますか? – amjad
ここにコードを64文字列の基にエンコードし、64文字を画像にデコードするコードを示します。 // UIImageからBase64への文字列 let image:UIImage = yourImage; 画像データましょう:たNSData = UIImagePNGRepresentation(画像) せbase64String = imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength) //デコードのBase64文字列base64String = "base64String" をせUIImage します。 let decodedImageData = NSData(base64EncodedString:base64String、options:.IgnoreUnknownCharacters) let decodedImage:UIImage = UIImage(data:decodedImageData) – HDT
ありがとうございました! – amjad