关于fileupload控件的上传问题
bool fileValid = false;
if (this.FileUpload1.HasFile)这句什么意思?
{
string fileExtension = System.IO.Path.GetExtension(this.FileUpload1.FileName).ToLower();
string[] restrictExtension = { ".gif", ".jpg", ".bmp", ".png" };
for (int i = 0; i < restrictExtension.Length; i++)
{
if (fileExtension == restrictExtension[i])
{
fileValid = true;
}
}
if (fileValid == true)
{
try
{
this.Image1.ImageUrl = "~/images/" + FileUpload1.FileName;
this.FileUpload1.SaveAs(Server.MapPath("~/images/") + FileUpload1.FileName);
this.Label1.Text = "文件上传成功";
this.Label1.Text = "<Br/>";
this.Label1.Text = "<li>" + "原文件路径:" + this.FileUpload1.PostedFile.FileName;
this.Label1.Text = "<Br/>";
this.Label1.Text = "<li>" + "文件大小:" + this.FileUpload1.PostedFile.ContentLength + "字节";为什么这段会显示不出来?
this.Label1.Text = "<Br/>" + "文件类型:" + this.FileUpload1.PostedFile.ContentType;
}
catch
{
this.Label1.Text = "文件上传不成功";
}
finally
{ }
}
else
{
this.Label1.Text = "只能上传后缀为.gif.jpg.bmp.png的文件";
}
------解决方案--------------------手表放上去看下就知道是什么意思了,第一个好像是判断有没有文件
------解决方案--------------------如果未选择文件
------解决方案--------------------是已选择
------解决方案--------------------this.FileUpload1.HasFile
这句话是判断FileUpload控件里面是否选择了文件,没文件就不做上传操作。
this.Label1.Text = "文件上传成功";
this.Label1.Text = "<Br/>";
this.Label1.Text = "<li>" + "原文件路径:" + this.FileUpload1.PostedFile.FileName;
this.Label1.Text = "<Br/>";
this.Label1.Text = "<li>" + "文件大小:" + this.FileUpload1.PostedFile.ContentLength + "字节";
为什么这段会显示不出来?
因为你的label只有一个,一直不断的覆盖赋值,显示的是最后一次赋值。
把“=”改成“+=”就可以了。
------解决方案--------------------貌似上传很简单,我一般不这样写 而且判断是否有选择文件 判断是符合要求,大小判断方法有很多。
基本上 如果没有什么限定的文件,基本上 3 4行代码就可以搞定。做个通用类就可以搞定了。