I’m having trouble displaying an image in a UIWebView.
-
I retrieve html content from a feed.
-
In this content there is a
<img src=.../>tag. -
Loading this content into a UIWebview, the image doesn’t display, showing only the missing image “?” instead.
It seems that the link to the image in src= contains some interesting characters and that these need to be escaped in order to get the correct image.
For example, in the feed I get the following which doesn’t work:
<img src="http://www.somedomain.com/0,,10268~9189636,00-1.jpg" />
However, if I use the following escaped link, it does work:
<img src="http://www.somedomain.com/0%2C%2C10268%7E9189636%2C00-1.jpg" />
The problem then arises that if I escape the html content (using the Google gtm_stringByEscapingForHTML function, for example), the whole lot gets escaped and the UIWebview just ends up displaying the html as a string of html. For example:
"<p>Hello this is a test</p><img src="someimagesource.jpg"/>......"
I actually used to be able to see the images, but can’t prove that something has changed at the back end. I haven’t changed anything at the front end.
I guess my questions are, therefore:
- Can anyone shed any more light on the potential cause of this issue?
- Can anyone suggest a fix I can apply at the front end to get around this issue?
Thanks very much in advance for your help.
The issue was indeed with the back end. I performed multiple tests and discovered that the images worked when hosted on my own server. I then found out that for mobile Safari, the back end was redirecting requests to a mobile site. This meant that requests for images on their server that came from mobile WebKit were being redirected to an html page. Of course, an html page is not a valid src for an img tag…