Asp.net mvc 在浏览器中下载Word文档

Asp.net mvc 在浏览器中下载Word文档,asp.net-mvc,Asp.net Mvc,我有一个Microsoft Word文档,我想在我的站点中链接到它。文档实际上托管在另一台服务器(内部SharePoint网站)上。我希望当用户单击链接时,默认情况下会在浏览器中打开文档。如果不可能,它将提示他们下载 这是我可以控制的,还是只是每个用户必须在其计算机上设置的?如果用户可以访问Sharepoint网站,您可以链接到Sharepoint网站上的文档下载链接 如果用户无法访问Sharepoint网站,您可以自己对其进行流式处理,但这是不推荐的 为什么你不能直接链接到文档的下载链接 编辑

我有一个Microsoft Word文档,我想在我的站点中链接到它。文档实际上托管在另一台服务器(内部SharePoint网站)上。我希望当用户单击链接时,默认情况下会在浏览器中打开文档。如果不可能,它将提示他们下载


这是我可以控制的,还是只是每个用户必须在其计算机上设置的?

如果用户可以访问Sharepoint网站,您可以链接到Sharepoint网站上的文档下载链接

如果用户无法访问Sharepoint网站,您可以自己对其进行流式处理,但这是不推荐的

为什么你不能直接链接到文档的下载链接

编辑:

您特别想知道如何确保链接直接打开。 为此,您需要更改响应(下载)的MIME类型,以便向浏览器提供有关如何打开该链接的更多信息。 此答案中的更多信息:

在我的应用程序中,我通常创建一个Util方法,该方法可以基于扩展名提供MIME类型

如果您可以自己为控制器提供下载,例如通过调用File()ActionResult,此解决方案将起作用。 这还要求您具有对物理文件的访问权限,以便可以对其进行流式处理


所以,我不确定这是否完全回答了你的问题,因为你说文档在Sharepoint网站上…?

这就是我正在做的。我想知道我是否可以强迫它在他们的浏览器中打开,而不是提示他们下载文件。我去过一些网站,点击PDF文件或word文档可以直接在浏览器中打开它(如果机器有插件)。我在问是我可以控制还是只有用户可以控制。好吧,修改我关于如何做到这一点的答案,这就是我的想法。由于文件托管在其他地方,我无法使用
file()
对其进行流式处理。我要么将其更改为自己托管该文件,要么告诉用户它不会直接打开。