2017-05-11 8 views
0

私のアプリにはUIImageViewがあります。私はアプリでレンダリングしているいくつかのhtmlコンテンツにその画像を表示したいと思います。これは、HTMLで画像を表示する小さなHTMLコードです:UIImageデータからURLを作成

<td class="title"> <img src="#LOGO_IMAGE#" style="width:100%; max-width:300px; background-color: #cdcdcd"> 
</td> 

これは(私はこれが間違ってい承知しています)私は、URLを取得するにはSwiftでやっているものです:

let logoString = String(data: imageData, encoding: .utf8) 
HTMLContent = HTMLContent.replacingOccurrences(of: "#LOGO_IMAGE#", with: logoString!) 

行番号1を与えます私nil
どうすればこの問題を解決できますか?

+0

あなたは、HTMLからURLたくない...これはそれを行う必要があり、あなたは "theImageView" という名前UIImageViewと "WebViewの" という名前のUIWebViewを持っていると仮定すると? – KKRocks

+0

@KKRocks:私はUIImageのデータを持っています。私はそれをhtml(質問に示されているHTMLコンテンツ)に表示したい。 – Nitish

+0

この質問の重複かもしれません:http://stackoverflow.com/questions/11251340/convert-between-uiimage-and-base64-string。あなたはbase64で画像を表示することができます。http://stackoverflow.com/questions/8499633/how-to-display-base64-images-in-html –

答えて

0
let base64String= imageData.base64EncodedStringWithOptions(.allZeros) 
let htmlString = "data:image/png;base64, \(base64String)" 

その後、htmlStringをロードすることがあります。

0

var myHTMLString = "<html><head></head><body bgcolor=#00ffff><p>This is a test</p><p><img src=\"#LOGO_IMAGE#\" style=\"width:100%; max-width:300px; background-color: #cdcdcd\"></p></body></html>" 

    if let img = theImageView.image { 

     if let pngRepA = UIImagePNGRepresentation(img) { 

      let strBase64 = pngRepA.base64EncodedString(options: []) 

      let logoString = "data:image/png;base64, \(strBase64)" 

      myHTMLString = myHTMLString.replacingOccurrences(of: "#LOGO_IMAGE#", with: logoString) 

     } 

    } 

    theWebView.loadHTMLString(myHTMLString, baseURL: nil) 
+0

短い 'pngRepA.base64EncodedString()' –

関連する問題