问题描述
- fileupload没差错运行后不能上传文件 2C
- 我的目的是用fileupload控件上传文件,例如说是图片,运行程序没报错,可是在网站里点击浏览或者自己打进去文件路径都没反应啊,求大神指教,谢谢
下面是代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender EventArgs e)
{
}
protected void Button1_Click(object sender EventArgs e)
{
bool fileIsValid = 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])
{
fileIsValid = true;} } //如果文件类型符合要求调用SaveAs方法实现上传并显示相关信息 if (fileIsValid == 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.Label1.Text += ""<li>"" + ""文件类型:"" + this.FileUpload1.PostedFile.ContentType; } catch { this.Label1.Text = ""文件上传不成功!""; } finally { } } else { this.Label1.Text =""只能够上传后缀为.gif.jpg.bmp.png的文件夹""; } } }
}
解决方案
fileupload已经脱离asp.net框架了,和直接点击Button1按钮上传效果不一样的。不能通过FileUpload1这个服务器控件获取到上传的文件
需要用Request.Files[""FileUpload1""]来获取,而且不会触发你的Button1_Click事件,给表单增加特殊参数,需要在Page_Load里面判断下是否有这个特殊参数,有就执行保存操作
解决方案二:
把后台代码贴出来,大家看一下?