在服务器上的mvc5中上传文件时遇到错误

时间:2016-03-28 14:32:18

标签: asp.net-mvc iis-8 devexpress-mvc

我有MVC5应用程序,我需要上传文件excel然后创建这个excel的数据表。我使用devexpress控件上传文件。我使用以下代码存储上传文件,然后读入datatable,然后存储在数据库中。

 if (e.UploadedFile.IsValid)
        {
            e.UploadedFile.SaveAs(System.Web.HttpContext.Current.Server.MapPath("~/App_Data/" + e.UploadedFile.FileName));
            var Filepath = System.IO.Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/App_Data/" + e.UploadedFile.FileName));
            DataTable  dtReport = new DataTable();
            try
            {
                dtReport = CreateDataTableFromExcelFile(Filepath, "A1:U", true, "Sheet1").Tables[0];
            }
            catch
            {
            }
              SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
            con.Open();
            System.Data.SqlClient.SqlBulkCopy sqlcopy = new System.Data.SqlClient.SqlBulkCopy(con);
            sqlcopy.DestinationTableName = "table_Name";
            sqlcopy.WriteToServer(dtReport);
            con.Close();

如果我在我的机器上的IIS上托管此应用程序,那么它可以正常工作。但如果我在另一台服务器上托管它,那么它会显示错误

  

访问路径' C:\ inetpub \ wwwroot \ MVC_Project_v3 \ App_Data \ UploadTemp \ dxupload_19aafa62643d42418b2fe5eaadede3cfcugxrc4e.nrt.tmp'被拒绝。

请建议正确的解决方案

1 个答案:

答案 0 :(得分:0)

您用于托管WebSite的凭据(您在应用程序池标识中输入的凭据)没有访问该目录的权限。

enter image description here

在此处添加有效凭据。