1. 关于tiff格式的图片显示的问题
IE无法直接打开tiff格式的图片,只是IE本身的问题;但是要想打开tiff格式的图片,可以将tiff格式的转换为其他IE能够打开的格式的,
缺点是 没有tiff格式的图片清晰,画质会变化。
tiff格式转换的代码如下所示:
Bitmap btMap1 = new Bitmap(path);
btMap1.Save(Response.OutputStream, ImageFormat.Jpeg);
Response.ContentType = "image/jpeg";
2. 关于下载文件是文件名乱码的问题
String path =Request["file"];
FileInfo file = new FileInfo(path);
String extension = Path.GetExtension(path).ToLower().Replace(".", "");
string fileName = file.Name;
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
Response.AddHeader("Content-Length", file.Length.ToString());
if (extension.Equals("doc"))
{
Response.ContentType = "application/msword";
}
else if (extension.Equals("xls"))
{
Response.ContentType = "application/vnd.ms-excel";
}
else
{
Response.ContentType = "application/octet-stream";
}
Response.WriteFile(path);
Response.End();
web.config:
<globalization
requestEncoding="Shift_JIS"
responseEncoding="Shift_JIS" responseHeaderEncoding="Shift_JIS"
/>
按以上这种做法打开文件时和打开文件后文件另存时的文件名都是正常的;但是如果文件名中还有半角空格时,打开文件时文件名的半角空格就会变为下划线“_”,如(A B.txt变为A_B.txt);虽然可以按照网上查到的把半角空格转换为“%20”(fileName = fileName.Replace(" ", "%20");),这是打开文件时文件名是正常的,但是打开文件后文件另存的时候文件名里就会有“%20”,至于这个问题如何解决目前我还没找到好的方法。