如何解决通过IIS运行时文件上传控件不起作用
| 这是我上传到excel的代码...运行时工作正常 通过本地,以防在通过IIS运行时无法正常工作..... 这是我的代码。protected void btnImport_Click(object sender,EventArgs e)
{
if (RevenueDumpFileUpload.HasFile)
{
string strFilePathOnServer = ConfigurationManager.AppSettings[\"RevenueDumpFileLocation\"];
String sConnectionString = @\"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" + Server.MapPath(strFilePathOnServer) + RevenueDumpFileUpload.FileName + \";Extended Properties=Excel 8.0;\";
// RevenueDumpFileUpload.PostedFile.SaveAs(Server.MapPath(strFilePathOnServer) + RevenueDumpFileUpload.FileName);
OleDbConnection Exlcon = new OleDbConnection(sConnectionString);
try
{
Exlcon.Open();
}
catch
{
return;
}
OleDbCommand objCmdSelect = new OleDbCommand(\"SELECT * FROM [Sheet1$]\",Exlcon);
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
objAdapter1.SelectCommand = objCmdSelect;
objAdapter1.Fill(objDataset1,\"XLData\");
methodtosave();
}
}
如何解决呢?
解决方法
实际上Fileupload可以工作并且应该保存文件,但是当您尝试读取上载的文件时,连接字符串中有问题。它应该与用于保存文件的文件路径相同。
String sConnectionString = @\"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=\" + strFilePathOnServer + RevenueDumpFileUpload.PostedFile.FileName + \";
Extended Properties=Excel 8.0;\";
, 这是什么类型的应用程序。它是Web窗体应用程序吗?如果是这样的话:
本地和通过IIS是什么意思?您是指服务器IIS吗?
如果您正在服务器上运行代码,但该代码无法正常工作,则您正试图强制服务器执行不允许执行的操作。
出于安全原因,您不应该从外部源访问服务器上的Excel。如果这是Web Forms应用程序,您可以做的是使用Java脚本和活动的x控件访问客户端的excel,并编写客户端Java脚本以将文件保存到正确的目录中。在线上有很多示例,使用Google可以做到这一点。我最近不得不在工作中使用2个Web应用程序。
如果没有,那么这可能不是您的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。