保存文件时出现UnauthorizedAccessException

时间:2014-05-15 20:18:19

标签: c# asp.net

我正在使用visual studio 2013 asp.net和C#

为我的最后一年项目创建一个网站

这是一个在线简历创建者,因此用户输入他们的详细信息并按提交并生成PDF(iTextSharp)。

问题是它从Visual Studio运行良好但是当我在线发布时,它给出了一个错误,可以在下面找到。

  

拒绝访问路径“C:\ cv.pdf”。

     

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

     

异常详细信息:System.UnauthorizedAccessException:拒绝访问路径“C:\ cv.pdf”。

     

ASP.NET无权访问所请求的资源。考虑将资源的访问权限授予ASP.NET请求标识。 ASP.NET具有基本进程标识(IIS 5上通常为{MACHINE} \ ASPNET,IIS 6和IIS 7上为网络服务,IIS 7.5上已配置的应用程序池标识),如果应用程序未模拟,则使用该标识。如果应用程序模拟通过,则标识将是匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户。

     

要授予对文件的ASP.NET访问权限,请在“文件资源管理器”中右键单击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”以添加适当的用户或组。突出显示ASP.NET帐户,并选中所需访问的框。

Stack Trace: 
[UnauthorizedAccessException: Access to the path 'C:\cv.pdf' is denied.]
   System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +217
   System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) +1305
   System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) +60
   System.IO.FileStream..ctor(String path, FileMode mode) +55
   CV.createpdf() +86
   CV.submit_Click(Object sender, EventArgs e) +364
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9753402
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +196
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724

myonlinecvcreator.azurewebsites.net

我真的开始担心,因为我需要在星期六完成它,因为这是我的最后一年项目,显然,我需要通过:)

1 个答案:

答案 0 :(得分:2)

使用名为App_Data的Web应用程序创建了一个目录。我建议你在那里创建文件:

string fileName = Server.MapPath("~/App_Data/cv.PDF");