content处置附件,而不是内联,当使用图像/tiff作为内容类型时



我有一个问题,希望你能帮助我。我正在使用 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显示它。

谢谢大家的帮助。

解决方案是将其转换为 JPEG、PNG、GIF 或 SVG,否则从长远来看,它会遇到问题。

TIFF图像格式不是为Web使用而设计的;它是用于打印的。Web 图像格式的示例包括 JPEG、PNG、GIF 和 SVG。

为什么某些图像格式适合网络,而其他图像格式则不适合?因为网络上的图像必须经过优化和高度压缩,这样它们就不会变得太大。

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

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

最新更新