我正在尝试在浏览器中显示.png / .jpg图像,但问题是它没有在浏览器中显示该图像,而是正在下载该图像。我也尝试过使用content-disposition:inline,但是它下载了完整的aspx页面。谁能帮我这个。下面是我的代码
string filePath = "C:\\inetpub\\wwwroot\\Folder\\OSP\\20139000\\";
string filename = "test.jpg";
string contenttype = "image/" +
Path.GetExtension(filename.Replace(".", ""));
FileStream fs = new FileStream(filePath + filename,
FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
Byte[] bytes = br.ReadBytes((Int32)fs.Length);
br.Close();
fs.Close();
////Write the file to response Stream
Response.Buffer = true;
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = contenttype;
Response.AddHeader("content-disposition", "attachment;filename=" + filename);
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
答案 0 :(得分:1)
您想念
Response.Clear();
脚本开头的某个位置。无需先清除响应的缓冲区,它已经包含运行脚本的*.aspx
页面的文本。
然后,不要将内容的处理方式设置为attachment
,完全删除此行。