上传Excel文件时访问路径被拒绝
上传Excel文件时,我收到此错误,任何人都可以帮助我吗?
访问路径'C: Data IronElements Upload AUMData 20101202 031815.xlsx'被拒绝。 说明:执行当前Web请求期间发生未处理的异常。 请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。
异常详细信息:System.UnauthorizedAccessException:拒绝访问路径“C: Data IronElements Upload AUMData 20101202 031815.xlsx”。
ASP.NET无权访问请求的资源。 考虑将资源的访问权限授予ASP.NET请求标识。 ASP.NET具有基本的进程标识(通常是IIS 5上的{MACHINE} ASPNET或IIS 6上的网络服务),如果应用程序未模拟,则使用该标识。 如果应用程序正在通过模拟,身份将是匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户。
要授予对文件的ASP.NET访问权限,请右键单击资源管理器中的文件,选择“属性”并选择“安全”选项卡。 点击“添加”添加适当的用户或组。 突出显示ASP.NET帐户,然后选中所需访问权限的复选框。
源错误:
在执行当前Web请求期间生成未处理的异常。 关于异常的来源和位置的信息可以使用下面的异常堆栈跟踪来标识。
我的代码隐藏文件有以下语法
DateTime date = DateTime.Now;
string FileName = Convert.ToString(date.ToString("yyyyMMdd hhmmss"));
Directory.CreateDirectory("C:DataIronElementsUploadAUMDataSchema");
doesFileExists("C:DataIronElementsUploadAUMDataSchema");
fileUpload.PostedFile.SaveAs("C:DataIronElementsUploadAUMData" + 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:DataIronElementsUploadAUMDataSchemaAUMSchema.xlsx");
}
}
确保文件夹C: Data IronElements Upload AUMData具有用于执行上下文IIS的用户的NTFS写入权限。 另外请确保C: Data IronElements Upload的子文件夹继承其父项的权限。 为此,请单击安全选项卡中的高级按钮 - >更改权限 - >选中使用此对象的可继承权限替换所有子对象权限 - >点击确定
您的Web会话正在运行的帐户没有写入该文件夹的权限。 一旦您给ASP.Net帐户(或您使用的任何帐户)所需的权限,它应该按预期工作。
请转到您正在用于此应用程序的应用程序池,并将其身份改为“网络服务”。 我面临类似的问题,并以相同的方式解决
链接地址: http://www.djcxy.com/p/55847.html