我得到了一堆".tif“图像文件,它们应该显示在我的.aspx页面上。虽然我可以在设计时看到这些图像。asp:Image无法在浏览器上呈现图像(.tif)。
如果我使用一个.jpg文件而不是tiff图像,它就会完美地呈现出来。
你知道为什么这是个限制吗?
我试过的东西
在我的项目中有一个Handler文件SampleHandler.ashx,用于处理请求
public void ProcessRequest(HttpContext context)
{
string path = context.Server.MapPath("~/img/image.tif");
Image img = Image.FromFile(path);
img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
并引用我的aspx代码中的Handler。
Ex:
<img src="SampleHandler.ashx"/>
这种方法有效!!但是,如果要加载多个".tif"文件怎么办?
谢谢
配置: ASP.NET 2.0 VSNET2008
发布于 2012-07-16 09:09:26
映像只将img标记呈现给HTML输出。检查生成的源以验证它有正确的路径。如果是这样的话,试着直接浏览到这条路径,看看你是否得到了图像。
(假设您没有在直接浏览中看到图像,这意味着您的服务器没有配置为提供tiff文件,或者您的路径不正确)。
发布于 2012-07-16 22:31:05
您需要配置web服务器以返回正确的MIME类型。
tiff文件的正确mime类型是图像/tiff
您需要运行IIS、IIS 7或更高版本,并将以下内容添加到您的web.config中
<system.webServer>
<staticContent>
<mimeMap fileExtension=".tiff" mimeType="image/tiff" />
<mimeMap fileExtension=".tif" mimeType="image/tiff" />
</staticContent>
</system.webServer>
如果您运行的是webdev服务器,那么您就不走运了(这是很古老的)。安装或运行IIS。
发布于 2012-07-16 23:44:35
浏览器通常不支持.TIF (TIFF)文件格式。您应该只希望当前或旧版本的浏览器支持图像文件的GIF、JPG和PNG。请参阅图像上的W3C页面。
这似乎在开发环境中起作用的原因是,它只是使用操作系统来解码图像,这将支持更多的图像格式。但这只是一种错觉,因为浏览器不支持它。
https://stackoverflow.com/questions/11501145
复制相似问题