我有问题,希望你能帮助我。 我正在使用struts2,我有这样的动作:
<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显示它。
感谢大家的帮助。
答案 0 :(得分:2)
大多数浏览器和电子邮件应用无法显示TIFF图像。需要坚持使用PNG,JPG或GIF进行Web界面。
答案 1 :(得分:2)
解决方案是将其转换为JPEG,PNG,GIF或SVG,否则从长远来看会有问题。
TIFF图像格式不适用于网络使用;它用于打印。 Web的图像格式示例包括JPEG,PNG,GIF和SVG。
为什么某些图像格式适合网络,而其他图像格式则不适合?因为网络上的图像必须经过优化和高度压缩,以免它们变得太大。
某些数字图像格式,尤其是那些专为打印而设计的图像格式,如分辨率,元数据和色彩丰富度 - 在计算机显示器中查看时都变得无关紧要 - 文件大小太大用于网络。