访问上传excel文件时拒绝的路径
上传excel文件时,我收到此错误,有人可以帮助我吗?
访问路径’C: Data IronElements Upload AUMData 20101202 031815.xlsx’被拒绝。 描述:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
exception详细信息:System.UnauthorizedAccessException:拒绝访问路径“C: Data IronElements Upload AUMData 20101202 031815.xlsx”。
ASP.NET无权访问所请求的资源。 考虑将资源的访问权限授予ASP.NET请求标识。 ASP.NET具有基本进程标识(通常是IIS 5上的{MACHINE} ASPNET或IIS 6上的网络服务),如果应用程序未模拟,则使用该标识。 如果应用程序模拟通过,则标识将是匿名用户(通常为IUSR_MACHINENAME)或经过身份validation的请求用户。
要授予对文件的ASP.NET访问权限,请在资源管理器中右键单击该文件,选择“属性”,然后选择“安全”选项卡。 单击“添加”以添加适当的用户或组。 突出显示ASP.NET帐户,并选中所需访问的框。
来源错误:
在执行当前Web请求期间生成了未处理的exception。 可以使用下面的exception堆栈跟踪来识别有关exception的起源和位置的信息。
我的代码隐藏文件具有以下语法
DateTime date = DateTime.Now; string FileName = Convert.ToString(date.ToString("yyyyMMdd hhmmss")); Directory.CreateDirectory("C:\Data\IronElements\Upload\AUMData\Schema"); doesFileExists("C:\Data\IronElements\Upload\AUMData\Schema"); fileUpload.PostedFile.SaveAs("C:\Data\IronElements\Upload\AUMData\" + FileName + ".xlsx"); System.Threading.Thread.Sleep(5000); string connectionString = WebConfigurationManager.ConnectionStrings["SQLConnection"].ConnectionString; SqlConnection SqlConnect = new SqlConnection(connectionString); try { SqlConnect.Open(); SqlCommand cmdAssetUnderManagement = new SqlCommand("Exec_Insert_AUMAssetValue", SqlConnect); cmdAssetUnderManagement.CommandType = CommandType.StoredProcedure; cmdAssetUnderManagement.ExecuteNonQuery(); } catch (Exception ex) { Response.Write(ex.Message); } finally { SqlConnect.Close(); } lblAUMTA.Visible = true; lblAUMTA.Text = "File Upload Completed"; } private void doesFileExists(string p) { p = string.Concat(p, "\AUMSchema.xlsx"); if (!File.Exists(p)) { fileUpload.PostedFile.SaveAs("C:\Data\IronElements\Upload\AUMData\Schema\AUMSchema.xlsx"); } }
确保文件夹C: Data IronElements Upload AUMData对IIS执行上下文的用户具有NTFS写入权限。 另外,请确保C: Data IronElements Upload的子文件夹inheritance其父级的权限。 要执行此操作,请单击安全选项卡中的高级按钮 – >更改权限 – >选中使用此对象的可inheritance权限替换所有子对象权限 – >单击确定
您的网络会话运行的帐户没有写入该文件夹的权限。 一旦您向ASP.Net帐户(或您使用的任何帐户)提供所需的权限,它应该按预期工作。
转到您用于此应用程序的应用程序池,并将其身份更改为“网络服务”。 我面对类似的问题并以同样的方式修复
为了更好地处理这样的权限问题,我总是创建一个低权限的用户来运行我们的网站。 用户以网站本身命名,因此显而易见的是它的用途。
然后,该用户只能获取正确文件夹上的权限,在您的情况下,C: Data IronElements Upload AUMData。 这也是限制数据库访问的好方法 – 在SQL中为特定用户创建一个具有最小权限的登录。
上述就是C#学习教程:访问上传excel文件时拒绝的路径分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1001633.html