从 NSData 对象将图像加载到 UIWebView 的正确方法 [英] Correct way to load image into UIWebView from NSData object

查看:22
本文介绍了从 NSData 对象将图像加载到 UIWebView 的正确方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经将 gif 图像下载到 NSData 对象中(我已经检查了 NSData 对象的内容,它肯定已经被填充了).现在我想将该图像加载到我的 UIWebView 中.我尝试了以下方法:

I have downloaded a gif image into an NSData object (I've checked the contents of the NSData object and it's definitely populated). Now I want to load that image into my UIWebView. I've tried the following:

[webView loadData:imageData MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];

但我得到一个空白的 UIWebView.直接从相同的 URL 加载图像可以正常工作:

but I get a blank UIWebView. Loading the image from the same URL directly works fine:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:imageUrl]];
[imageView loadRequest:request];

我需要将 textEncodingName 设置为某个值,还是我做错了什么?

Do I need to set the textEncodingName to something, or am I doing something else wrong?

我想手动加载图像,以便向用户报告进度,但它是一个动画 gif,所以完成后我想在 UIWebView 中显示它.

I want to load the image manually so I can report progress to the user, but it's an animated gif, so when it's done I want to show it in a UIWebView.

也许我需要以某种方式将我的图像包装在 HTML 中?有没有办法做到这一点而不必将其保存到磁盘?

Perhaps I need to wrap my image in HTML somehow? Is there a way to do this without having to save it to disk?

推荐答案

我用 PNG ("image/png")、JPG ("image/jpeg") 和 GIF ("image/gif") 测试了代码,并且它按预期工作:

I tested the code with PNG ("image/png"), JPG ("image/jpeg") and GIF ("image/gif"), and it works as expected:

[webView loadData:imageData MIMEType:imageMIMEType textEncodingName:nil baseURL:nil];

现在,您的应用出了什么问题?

Now, what's wrong with your app?

  • imageData 不是格式良好的图像数据.尝试使用网络浏览器或图像编辑器打开文件进行检查.
  • MIME 类型不正确.查看数据的第一个字节以确定实际的文件类型.
  • webView 在 IB 中未连接、为 nil、隐藏、被另一个视图覆盖、屏幕外、有 CGRectZero 框架等.

这篇关于从 NSData 对象将图像加载到 UIWebView 的正确方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆