从浏览器的文件夹中显示.jpg / .png图像,而不是将其下载为ASP.NET

时间:2018-07-07 15:12:52

标签: c# asp.net

我正在尝试在浏览器中显示.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();

1 个答案:

答案 0 :(得分:1)

您想念

Response.Clear();

脚本开头的某个位置。无需先清除响应的缓冲区,它已经包含运行脚本的*.aspx页面的文本。

然后,不要将内容的处理方式设置为attachment,完全删除此行。