使用fileupload控件的ASP.Net奇怪行为

时间:2011-04-17 23:12:51

标签: asp.net excel file-upload

我正在尝试从客户端的PC上读取excel文件。我正在使用ASP文件上载控件。当我尝试读取文件时,它试图打开在错误文件夹中选择的文件。该文件位于D:驱动器上,它正在尝试在C:驱动器中打开它。

以下是我传递给函数的内容:

    fpc.AddSpecs(ref model, this.fuSpecs.PostedFile.FileName.ToString());

以下是函数中的连接字符串:

        switch ( postedfile.Substring(postedfile.LastIndexOf('.') + 1) )
        {
            case "xls":
                connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + postedfile + ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\"";
                break;
            case "xlsx":
                connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + postedfile + ";Extended Properties=Excel 12.0;HDR=Yes;IMEX=2";
                break;
        }

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

1-将文件保存在服务器上:

string uploadedFilePath = "URL" + System.IO.Path.GetFilename(fileUpload1.FileName));
fileUpload1.SaveAs(uploadedFilePath);

2-分配connString变量的值:

switch ( postedfile.Substring(postedfile.LastIndexOf('.') + 1) )        
{            
    case "xls":                
        connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + uploadedFilePath + ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\"";                
        break;            
    case "xlsx":                
        connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + uploadedFilePath + ";Extended Properties=Excel 12.0;HDR=Yes;IMEX=2";                
        break;        
}

检查以下链接:

http://weblogs.asp.net/ashicmahtab/archive/2009/05/20/fileupload-control-doesn-t-give-full-path-help.aspx