首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >飞碟(xhtmlrenderer)请求图片4次

飞碟(xhtmlrenderer)请求图片4次
EN

Stack Overflow用户
提问于 2010-07-30 15:20:23
回答 2查看 1.3K关注 0票数 0

在我的xhtml中,我有以下内容:

代码语言:javascript
复制
...
<img src="myImage.jpg" />
...

我是这样渲染的:

代码语言:javascript
复制
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(XMLResource.load(in).getDocument(), url);
renderer.layout();
renderer.createPDF(out);

生成的PDF和预期的一样,但是我注意到图像(它只包含在xhtml中一次,并且只渲染一次)被请求了4次。

现在,除了明显的额外数据下载的问题,这对大多数人来说并不是问题。

然而,我需要为动态图像实现一个“使用时过期”的图像缓存,这真的是一个令人头疼的问题……

如果只渲染一次,为什么飞碟需要对图像进行4次请求?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-30 16:14:43

我刚刚看过了代码,这里没有解决方案(如果不重写itext和飞碟的话)。

第一次打开流只是为了测试它是否可以打开,不读取数据。

第二次是读取报头以确定文件类型,只读取前4个字节。

第三次是itext确定图像的尺寸--我不确定,但我也不认为这里读到了太多标题。

最后一次读取是渲染图像。

所以下载的影响不是很大,4个url连接??是的,但是整个流只传输一次。

而我的“使用时过期”缓存将不得不改为“第四次使用时过期”。

票数 0
EN

Stack Overflow用户

发布于 2013-10-05 05:16:26

在最新版本的FlyingSaucer中已修复此问题。我已经确认了9.0.3,尽管我相信在此之前的几个小版本也包含了修复。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3369395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档