2014-01-16 27 views
1

我有一个问题,我希望你能帮助我。 我使用Struts2的,我有这样的一个动作:contentDisposition附件,而不是内联使用image/tiff作为contentType

<action name="myAction" method="cimas" class="MyClass" > 
<result name="success" type="stream"> 
<param name="contentType">image/jpeg</param> 
<param name="inputName">inputStream</param> 
<param name="contentDisposition">inline;filename="${filename}"</param> 
<param name="bufferSize">1024</param> 
</result> 
</action> 

直到这里的一切是完美的,我使用此代码班里inputStream设置:

filename = "anImage.jpg"; 
File img = new File("D://anImage.jpg"); 
inputStream = new FileInputStream(img); 

和正确的图像显示,但是当我尝试以tif格式显示图像时会出现问题。 我改变形象,文件名的路径,我设置contentType到:

<param name="contentType">image/tiff</param> 

但它不工作,我不知道为什么。有谁能够帮助我?

编辑:

我编辑的答案来解释我做了什么来解决这个问题。

很多用户对我说,tiff格式不适合网页使用。尽管如此,借助IE和AlternaTIFF,我完成了展示图像。但是,因为我想为所有浏览器提供解决方案,所以我最终将图像转换为jpg,并使用ImageMagick将其显示出来。

谢谢大家的帮助。

+1

将其转换为jpeg。 –

+0

感谢您的回答。问题是我有很多图像,并且它们都在客户端计算机上,所以我无法转换它们。我真正的问题是我想打开这些图像,但我不知道我怎么能这样做,因为我说他们在客户端机器。 – Airenin

+0

[This](http://stackoverflow.com/a/15278402/573032)解决方案可能会帮助您,如果您选择适当的内容类型。它不会影响客户机上的文件。 –

回答

2

该解决方案将其转换为JPEG,PNG,GIF或SVG,否则在长期内会出现问题。

TIFF图像格式不适合网页使用;它用于打印。 Web的图像格式示例为JPEG,PNG,GIF和SVG。

为什么某些图片格式适合网页,而其他图片格式不适合?因为网络上的图像必须进行优化和高度压缩,以免它们变得太大。

某些数字图像格式,尤其是那些为打印而设计的数字图像格式(如TIFF),在分辨率,元数据和色彩丰富度方面不必要地高 - 在计算机显示器中查看时都变得无关紧要 - 文件太大大小为网络使用。

+0

谢谢@Ricardo,你知道我该如何打开客户端机器中的本地图像?首先,我尝试使用Desktop Java类来完成它,但它不起作用,我不知道如何将图像显示给用户,因为我不知道如何打开它们。 – Airenin

+0

正如@罗曼克说的,他的链接应该是有用的,如果你仍然有问题,也许你应该提出另一个问题指出新问题。 – Ricardo

2

大多数浏览器和电子邮件应用程序无法显示TIFF图像。需要坚持用于Web界面的PNG,JPG或GIF。

+0

非常感谢您的回答。正如我对@hichris所说的,我真正的问题是我想向用户显示客户机中的一些图像,但我不知道该怎么做。请问你能帮帮我吗?再次感谢。 – Airenin

+0

如果我们正在谈论客户端计算机上的Web浏览器,他们无法访问客户端上的本地文件。您唯一能做的就是将这些文件上传到服务器,然后在一个页面中查看它们。 – BrianC

相关问题