2014-04-01 62 views
0

如何使用C#和ASP.NET中的响应调用动态地在浏览器中打开文件资源? 我有一个存储文档的文件服务器。我有另一台运行IIS和ASP.NET应用程序的服务器。我需要在浏览器窗口中打开存储在文件服务器上的pdf文档。 我提供folderPath字符串为“\\ MyFileServer \ documentFolder \”,文件名字符串为“doc.pdf”。我尝试重定向到使用Response.Redirect在浏览器中打开pdf

Response.Redirect(folderPath + filename, true); 

但重定向会尝试将我提供的资源位置追加到当前服务器路径。我是ASP.NET新手,请原谅我的无知。 哦,顺便说一句,该网站是从Android平板电脑访问,所以我需要显式重定向客户端浏览器到文件资源,否则android将开始下载文件,而不是打开它。

回答

1

东西的响应,写一个标题:

Content-Disposition: inline; doc.pdf 

的回答查看更多here

+0

Thx为答案。我尝试过但没有任何反应。几乎就像这个之后缺少一些执行命令。 – ArtK

+0

答案不起作用,但链接有一些很好的信息。 – ArtK

1

看一看Response.AddHeader

你可以这样做

Response.AddHeader("content-disposition", "inline; filename=" + filepath + ".pdf"); 
+0

THX 。我尝试过但没有任何反应。几乎就像这个之后缺少一些执行命令。浏览器不断显示我的test.aspx。 – ArtK

+0

@ArtK:您的文件路径是否包含文件扩展名?如果是删除手动添加的分机。否则可能会导致'Response.AddHeader(“content-disposition”,“inline; filename.pdf.pdf”)' –

+0

我测试了浏览器通过发送给Response.Write()的路径字符串。当我知道这是正确的时候,我在Response.AddHeader()中使用它。通话执行时没有任何操作。 – ArtK

相关问题