使用FileStreamResult在浏览器中显示PDF

时间:2018-03-23 15:20:31

标签: filestreamresult

我正在尝试使用以下操作在浏览器中显示PDF文件。 执行此操作时,结果是整个屏幕看起来像附加的图像。 Rendered result 看起来MediaTypeNames.Application.Pdf被忽略了。 与Chrome或Firfox相同的结果。 我缺少什么?

[HttpGet]
    public FileResult ViewFile()
    {
        Response.AppendHeader("Content-Disposition", "inline; filename=" + Server.UrlEncode("file.pdf") + ";");
        var path = @"C:\temp\file.pdf";
        FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read);
        return new FileStreamResult(stream, MediaTypeNames.Application.Pdf);
    }

1 个答案:

答案 0 :(得分:0)

您可以使用下面的代码段在浏览器中显示PDF文档。

        FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
        fileStream.Position = 0;
        return new FileStreamResult(fileStream, System.Net.Mime.MediaTypeNames.Application.Pdf);