我觉得我已经走了一千圈,它应该比它简单得多,但基本上我在asp.net中使用C#进行简单的简历提交页面。这些文件位于服务器的一个文件夹中,但是当我尝试执行它时,我发现每个解决方案都没有做任何事情。
以下是我尝试过的一些事情的一些例子:
string folder = "~/App_Data/Resumes/" + Session["ResumeName"].ToString();
string folder2 = Server.MapPath("~/App_Data/Resumes/" + Session["ResumeName"].ToString());
System.Web.VirtualPathUtility.ToAbsolute(folder);
System.Diagnostics.Process.Start(folder2);
我从来没有想过像从服务器打开文档这么简单的事情。难道只是简单地拥有一个文档链接并在用户点击它时打开它吗?这就是我想要完成的一切。谢谢你通过我的沮丧来阅读我。
澄清一下,System.Diagnostics.Process.Start(folder2);在本地工作,但在Web服务器上不起作用。我希望这可以在Web服务器上工作,这就是为什么一个出来的原因。我试图让Web服务器打开该文件,但我认为我对IIS的了解并不充分。
答案 0 :(得分:2)
App_Data
是ASP.NET中受保护的文件夹。 IIS不会直接从该文件夹向客户端提供任何内容 - 您需要构建一个直接为文档提供服务的处理程序。
以下是一些示例,但它们并不代表您需要做的所有事情。其他人可以随意添加额外的资源。您的处理程序必须打开文件并将其写入输出流:
Using a c# handler to serve up wav files cuts audio short (only a couple of seconds) ASP.net cache ASHX file server-side
答案 1 :(得分:0)
答案 2 :(得分:0)
从问题的标题来看,如果我理解正确,您需要在链接或按钮上打开。doc
或.pdf
。这将打开客户端上的相应文档。
<a id="lnkResume" href="#" runat="server" target="_blank">Download Resume</a>
您可以从下面的代码中设置动态简历名称
string fileName = Session["ResumeName"].ToString();
lnkResume.HRef = Server.MapPath("~/App_Data/Resumes/" + fileName);