如何在浏览器中强制查看pdf和word文档

时间:2016-09-01 15:07:31

标签: c# asp.net webforms

我需要在浏览器中打开各种文件类型,例如pdf和word我发现最常用的解决方案似乎是我所做的事情的相似之处

public string GetDocument(Guid UserId, string Filename)
{
  string mimeType = "application/pdf"
  Response.AppendHeader("Content-Disposition", "inline; filename=" + fileName);
return File(doc, mimeType);
}

我的问题是如何将服务器上的原始文件转换为可以提供给浏览器的东西我必须将其更改为字节,如果是这样,将如何将pdf更改为字节。就此而言,文件

2 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

public void GetDocument(Guid UserId, string Filename)
{
  string mimeType = "application/pdf"
  Response.AppendHeader("Content-Disposition", "inline; filename=" + fileName);
  Response.WriteFile(fileName);
  Response.End();
}

注意,Response.WriteFile需要文件的FULL路径,因此如果文件名变量不是完整路径,则需要映射它。

对于PDF,大多数浏览器将在浏览器内打开,对于其他文件类型,您的里程可能会有所不同,具体取决于浏览器是否具有内联显示该文件类型的功能。

答案 1 :(得分:0)

您不能从服务器端强制它。

某些浏览器(例如Chrome)可以正常呈现PDF,但只有当.pdf文件扩展名与Chrome相关联时,从服务器呈现的PDF才会在Chrome中打开。无法访问运行浏览器的计算机,您无法更改关联。

据我所知,您无法在任何浏览器中直接打开Word文档。你必须使用一个观众。

使用查看器可以在页面中显示PDF或Word文档 - 这与下载文件并以原生方式显示不同,但它可能适合您的目的。

一些观众可以免费使用。这是两个。

Google docs viewer

Office Web Apps viewer