如何在html文档中嵌入大图像?

时间:2012-06-13 21:05:18

标签: html image embed

我需要创建一个存储在磁盘上的HTML文件;稍后,用户会将此文件附加到电子邮件中,并将其发送给用户,该用户将单击该文件以在其浏览器中显示该文件。我的客户要求将图像文件直接嵌入到保存的html文件中,而不是作为在浏览器中打开文档时加载的URL的链接。

我已经看过(并试过)过这样的base64代码:

<IMG SRC="data:image/gif;base64,

但是我的图像是150K或更大,至少在IE8中,它们太大而无法正常显示。

是否有另一种方法可以将大图像嵌入(链接)到HTML文档中?请记住,我没有运行与浏览器交互的程序。

2 个答案:

答案 0 :(得分:2)

IE 8的数据uri限制为32k(http://en.wikipedia.org/wiki/Data_URI_scheme),这就是为什么事情在那里失败的原因。此外,版本的I.E.低于8将不支持此功能。

我知道,没有办法解决这个问题。但是,您可以分解图像并对其中的不同部分进行编码。由于听起来这个内容在任何方面都不是动态的,这可能不会太难。否则,您可能只想使用CSS hack为IE8及更低版本的服务器提供不同的样式,或者尝试从服务器为这些浏览器加载图像。

答案 1 :(得分:1)

感谢所有人,但艾伯特的帖子给了我答案,但有点间接。我最初创建我的html文档作为电子邮件,并直接在电子邮件中嵌入图像,混合htm&amp;哑剧。我需要做的就是将文档的扩展名从.htm更改为.mht。

我的文档代码的相关部分是:

<img border=3 width="360" height="360" src="cid:001@mime.mail"></table></div></body></html>
--_=_Boundary_001_VXUXGWO1.FBLEINFI
Content-Type: application/octet-stream; name="1.jpg"
Content-Disposition: attachment; filename="1.jpg"
Content-ID: <001@mime.mail>
Content-Transfer-Encoding: base64
Content-Description: 1.jpg

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA...

请注意,src =“cid:001@mime.mail”对应于实际图像数据开始处上方的Content-ID标记。