请教文件上传问题
请教一个简单的问题,问题虽然我用其他验证方法解决了但是起初我的一个思路不正确让我找不到原因
用linkbutton上传文件的时候,我并没有选择要上传的文件而是直接点上传
结果出错 在这行file.SaveAs(path);
当我使用
if(this.Request.Files.Count==0)的时候
并没有解决错误
快速监视的结果是,我虽然没选择文件但是this.Request.Files.Count==1的 不解!
原程序代码如下,已经解决了问题,但是上面的问题还是不了解为什么
private void UpLoadImage()
{
#region 问题的解决方法1 为什么不成功
if(this.Request.Files.Count == 0)
return;
#endregion
//获取客户端上传的文件集合
HttpFileCollection fis = this.Request.Files;
for (int i = 0; i < fis.Count; i++)
{
HttpPostedFile file = fis[i];
//上传文件的完整名
#region 问题的解决方法2
if (file.FileName.Equals(""))
{
return;
}
#endregion
string fullname = file.FileName;
string filename = System.IO.Path.GetFileName(fullname);
string path = System.IO.Path.Combine((this.MapPath("~/Images")), filename);
//保存文件
file.SaveAs(path);
}
ShowImage();
}
--------------------编程问答-------------------- 不好意思,我也不会... --------------------编程问答-------------------- if (FileUpload1.HasFile)
{}
else
{
error
} --------------------编程问答-------------------- //多附件上传
for (int i = 0; i < fc.Count; i++)
{
if (fc[i].FileName != "")
{
string filePhysicalPath = "";
try
{
HttpPostedFile hPostedFile = fc[i];
int Filelong = hPostedFile.ContentLength;
if (Filelong > Convert.ToInt32(ConfigurationManager.AppSettings["FileZize"].ToString()))
{
Response.Write("<script>alert('" + "文件过大,上传失败!" + "');</script>");
return;
}
string RandomString = Convert.ToString(Guid.NewGuid());
string TrueName = Path.GetFileName(fc[i].FileName);
string ExtendName = TrueName.Substring(TrueName.LastIndexOf("."));
string RandomName = RandomString + ExtendName;
filePhysicalPath = Server.MapPath("~/UpLoad/DepartmentWork/" + RandomName);
if (!Directory.Exists(filePhysicalPath))
{
Directory.CreateDirectory(Server.MapPath("~/UpLoad/DepartmentWork/"));
}
fc[i].SaveAs(filePhysicalPath);
db.AddAttach(RandomName, AddID, TrueName);
log.AddLog("添加", "", "信息标题为:《" + txtname.Text + "》的《" + TrueName + "》附件");
}
catch
{
Response.Write("<script language=javascript>alert('上传文件出错!');</script>");
}
}
}
补充:.NET技术 , ASP.NET