asp.net 上传文件总是提示处理出错,到底哪里有问题?急
当我点击上传按钮以后触发收下代码:为什么总是处理出错?各位帮帮忙,谢谢publicstaticintIntIsUF=0;privatevoidUpFile(){//获取文...
当我点击上传按钮以后触发收下代码:为什么总是处理出错?各位帮帮忙,谢谢
public static int IntIsUF = 0;
private void UpFile()
{
//获取文件保存的路径
string FilePath = Server.MapPath(".//") + "Files";
//获取由客户端上载文件的控件集合
HttpFileCollection HFC = Request.Files;
for (int i = 0; i < HFC.Count; i++)
{
//对客户端已上载的单独文件的访问
HttpPostedFile UserHPF = HFC[i];
try
{
if (UserHPF.ContentLength > 0)
{
//调用GetAutoID方法获取上传文件自动编号
int IntFieldID = CC.GetAutoID("fileID", "files");
//文件的真实名(格式:[文件编号]上传文件名)
//用于实现上传多个相同文件时,原有文件不被覆盖
string strFileTName = "[" + IntFieldID + "]" + System.IO.Path.GetFileName(UserHPF.FileName);
//定义插入字符串,将上传文件信息保存在数据库中
string sqlStr = "insert into files(fileID,fileName,fileLoad,fileUpDate,fileTrueName)";
sqlStr += "values('" + IntFieldID + "'";
sqlStr += ",'" + System.IO.Path.GetFileName(UserHPF.FileName) + "'";
sqlStr += ",'" + FilePath + "'";
sqlStr += ",'" + DateTime.Now.ToLongDateString() + "'";
sqlStr += ",'" + strFileTName + "')";
//打开与数据库的连接
SqlConnection myConn = CC.GetConnection();
myConn.Open();
SqlCommand myCmd = new SqlCommand(sqlStr, myConn);
myCmd.ExecuteNonQuery();
myCmd.Dispose();
myConn.Dispose();
//将上传的文件存放在指定的文件夹中
UserHPF.SaveAs(FilePath + "//" + strFileTName); //有问题
IntIsUF = 1;
}
}
catch
{
//文件上传失败,清空缓存中的上传控件集,重新加载上传页面
if (Session["FilesControls"] != null)
{
Session.Remove("FilesControls");
}
Response.Write(CC.MessageBox("处理出错!", "FileUp.aspx"));
return;
}
}
//当文件上传成功或者没有上传文件,都需要清空缓存中的上传控件集,重新加载上传页面
if (Session["FilesControls"] != null)
{
Session.Remove("FilesControls");
}
if (IntIsUF == 1)
{
IntIsUF = 0;
Response.Write(CC.MessageBox("上传成功!", "FileUp.aspx"));
}
else
{
Response.Write(CC.MessageBox("请选择上传文件!", "FileUp.aspx"));
}
}
我上传很小的文本都不行,是什么原因 展开
public static int IntIsUF = 0;
private void UpFile()
{
//获取文件保存的路径
string FilePath = Server.MapPath(".//") + "Files";
//获取由客户端上载文件的控件集合
HttpFileCollection HFC = Request.Files;
for (int i = 0; i < HFC.Count; i++)
{
//对客户端已上载的单独文件的访问
HttpPostedFile UserHPF = HFC[i];
try
{
if (UserHPF.ContentLength > 0)
{
//调用GetAutoID方法获取上传文件自动编号
int IntFieldID = CC.GetAutoID("fileID", "files");
//文件的真实名(格式:[文件编号]上传文件名)
//用于实现上传多个相同文件时,原有文件不被覆盖
string strFileTName = "[" + IntFieldID + "]" + System.IO.Path.GetFileName(UserHPF.FileName);
//定义插入字符串,将上传文件信息保存在数据库中
string sqlStr = "insert into files(fileID,fileName,fileLoad,fileUpDate,fileTrueName)";
sqlStr += "values('" + IntFieldID + "'";
sqlStr += ",'" + System.IO.Path.GetFileName(UserHPF.FileName) + "'";
sqlStr += ",'" + FilePath + "'";
sqlStr += ",'" + DateTime.Now.ToLongDateString() + "'";
sqlStr += ",'" + strFileTName + "')";
//打开与数据库的连接
SqlConnection myConn = CC.GetConnection();
myConn.Open();
SqlCommand myCmd = new SqlCommand(sqlStr, myConn);
myCmd.ExecuteNonQuery();
myCmd.Dispose();
myConn.Dispose();
//将上传的文件存放在指定的文件夹中
UserHPF.SaveAs(FilePath + "//" + strFileTName); //有问题
IntIsUF = 1;
}
}
catch
{
//文件上传失败,清空缓存中的上传控件集,重新加载上传页面
if (Session["FilesControls"] != null)
{
Session.Remove("FilesControls");
}
Response.Write(CC.MessageBox("处理出错!", "FileUp.aspx"));
return;
}
}
//当文件上传成功或者没有上传文件,都需要清空缓存中的上传控件集,重新加载上传页面
if (Session["FilesControls"] != null)
{
Session.Remove("FilesControls");
}
if (IntIsUF == 1)
{
IntIsUF = 0;
Response.Write(CC.MessageBox("上传成功!", "FileUp.aspx"));
}
else
{
Response.Write(CC.MessageBox("请选择上传文件!", "FileUp.aspx"));
}
}
我上传很小的文本都不行,是什么原因 展开
2个回答
展开全部
是不是上传文件超过限制
<httpRuntime maxRequestLength="4096" executionTimeout="6000"/>
<!-- 控制用户上传文件最大为4M,最长时间为60秒
<httpRuntime maxRequestLength="4096" executionTimeout="6000"/>
<!-- 控制用户上传文件最大为4M,最长时间为60秒
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-03-17
展开全部
哪一行出错呢
这里有一个文件上传系统
可以参考一下
这里有一个文件上传系统
可以参考一下
参考资料: http://www.blueidea.com/common/shoutbox/redir.asp?id=11298
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询