如何更正asp.net中的“DirectoryNotFoundException”?

时间:2014-06-13 11:28:43

标签: c# asp.net

我在使用asp.net webforms Framework 4的网站上工作,我想在我的数据库Sql Server中导入一个Excel文件。但是当我上传这个文件时,我得到一个DirectoryNotFoundException ... 我没有得到它,因为我的文件夹存在...

这是我背后的代码:

protected void btnUpload_Click(object sender, EventArgs e)
        {
            if (FileUpload1.HasFile)
            {
                string FileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
                string Extension = Path.GetExtension(FileUpload1.PostedFile.FileName);
                string FolderPath = ConfigurationManager.AppSettings["FolderPath"];
                string FilePath = Server.MapPath(FolderPath + FileName);
                FileUpload1.SaveAs(FilePath);
                GetExcelSheets(FilePath, Extension, "Yes");
            }
        }

这是我的web.config的一部分:

<appSettings>
    <add key="FolderPath" value="Files/" />
  </appSettings>
  <connectionStrings>
    <!--Ce qui va nous permettre d'importer des fichiers excel aec le format 2003 et 2007 dans SQL Server-->
    <add name="Excel03ConString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;
            Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"/>
    <add name="Excel07ConString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;
            Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"/>
    <!--Ce qui va nous permettre de se connecter à la base de données-->
    <add name="connexionBase" providerName="System.Data.SqlClient" connectionString="server=localhost;database=projetDGCS;uid=sa;pwd=dgcs9876" />
  </connectionStrings>

2 个答案:

答案 0 :(得分:1)

您可以将文件名放在appsetting中,如下所示

         <add key="FolderPath" value="~/Files/" />
         bool isExists = System.IO.Directory.Exists(Server.MapPath(FolderPath));
         if(!isExists)
         System.IO.Directory.CreateDirectory(Server.MapPath(FolderPath));

答案 1 :(得分:1)

在config中尝试:

<add key="FolderPath" value="~/Files/" />