从 NSData 对象将图像加载到 UIWebView 的正确方法

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

本文介绍了从 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 的正确方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:从 NSData 对象将图像加载到 UIWebView 的正确方法