2017-06-21 23 views
-1

POSTリクエストを使用してWebページからダウンロードされたbase64画像文字列を持っていますが、画像ビューをデコードして表示しようとしていますが、私は画像ビューでbase64でエンコードされた画像を表示する:SWIFT 3

let dataDecode:NSData = NSData(base64Encoded: base64String!, options:.ignoreUnknownCharacters)! 
let image= UIImage(data: dataDecode as Data)! 
yourImageView.image = image 

else一部が常に実行します。また、NSData方法しようとしました

if let decodedData = Data(base64Encoded: base64String, options: .ignoreUnknownCharacter) { 
    let image = UIImage(data: decodedData) 
    ImageView.image = image 
} else { 
     print("error in decoding") 
    } 

:私はこの方法を試し、現在のソースのカップルが、運:(

let base64String = "data:image/jpg;base64,/9j/4aaQSkZJRg0BMADAE15a5df.....H/12Q==" 

を試してみましたコード化された文字列を静的変数に入れてxCodeプレイグラウンドでこれを試してみて、if条件行の前にnilがあることに気づいた

私が間違っていることはわかりません。

答えて

0

base64Stringは、実際にはデータスキームを持つURLです。これらのタイプのURLのサポートが組み込まれています。私は適切にオプションの値とエラー処理を扱うための練習としてそれを残す

let dataString = "data:image/jpg;base64,/9j/4aaQSkZJRg0BMADAE15a5df.....H/12Q==" 
let dataURL = URL(string: dataString) 
let data = Data(contentsOf: dataURL) 
let image = UIImage(data: data) 

あなたのような何かを行うことができます。

+0

ありがとうございます、画像の幅と高さが 'let image = UIImage(data:data)'の前に表示されているのでプロジェクトのコードで動作していません。 'do .... catch'ブロックでエラーを処理しています。' do'ブロックが実行中であることに気がつきました。メッセージを表示していて、base64stringも表示していました。素早くスープパーサを使用し、このセレクタで画像ソースを選択しています: 'let image = try doc.select("。big-title> img ")。attr(" src ")' – Alena

1

注意してくださいは、文字列の一部のみが画像を表し

せbase64String = "データ:画像/ JPG; base64,9j/4aaQSkZJRg0BMADAE15a5df ..... H/12Qの=="

+0

URL文字列からの文字列? – Alena

関連する問題