首页上一页 1 下一页尾页 2 条记录 1/1页
图片上传问题目
发表在ASP.NET图书答疑
2009-11-20
是否精华
是
否
版块置顶:
是
否
asp.net程序开发范例宝典一书第一版实例139(将图片以二进制格式存储到数据库中),如果我在加上别的文本框一起往数据库里录入数据,有时需要加图片,有时可能没有图片,我改这个例子,不加图片就不能成功,必须得加,请指教一下,如何在没有图片的情况下也能提交,下面是我写的代码
try
{
string ImgPath = FileUpload1.PostedFile.FileName;
string ImgName = ImgPath.Substring(ImgPath.LastIndexOf("\\") + 1);
string ImgExtend = ImgPath.Substring(ImgPath.LastIndexOf(".") + 1);
if (!(ImgExtend == "bmp" || ImgExtend == "jpg" || ImgExtend == "gif"))
{
Label3.Text = "上传图片的格式不正确!";
return;
}
int FileLen = this.FileUpload1.PostedFile.ContentLength;
Byte[] FileData = new Byte[FileLen];
HttpPostedFile hp = FileUpload1.PostedFile;//创建访问客户端上传文件的对象
Stream sr = hp.InputStream;//创建数据流对象
sr.Read(FileData, 0, FileLen);//将图片数据放到FileData数组对象实例中,其中0代表数组指针的起始位置,FileLen表示要读取流的长度(指针的结素位置)
SqlConnection con = new SqlConnection("server=(local);user id=sa;pwd=;database=db_Register");
con.Open();
SqlCommand com = new SqlCommand("INSERT INTO goods (姓名,名称,数量,picture) VALUES ('" + name.Text + "','" + good.Text + "','" + number.Text + "',@imgdata)", con);
com.Parameters.Add("@imgdata", SqlDbType.Image);
com.Parameters["@imgdata"].Value = FileData;
com.ExecuteNonQuery();
// Label3.Text = "保存成功!";
Response.Write("<script>alert('数据插入成功!')</script>");
}
catch (Exception error)
{
// Label3.Text = "处理失败!原因为:" + error.ToString();
Response.Write("<script language=javascript>alert('添加失败!为什么呢?')</script>");
}
以上代码好用,但是必须得选图片,我想改成可选可不选都能添加的
请指点下,谢谢
try
{
string ImgPath = FileUpload1.PostedFile.FileName;
string ImgName = ImgPath.Substring(ImgPath.LastIndexOf("\\") + 1);
string ImgExtend = ImgPath.Substring(ImgPath.LastIndexOf(".") + 1);
if (!(ImgExtend == "bmp" || ImgExtend == "jpg" || ImgExtend == "gif"))
{
Label3.Text = "上传图片的格式不正确!";
return;
}
int FileLen = this.FileUpload1.PostedFile.ContentLength;
Byte[] FileData = new Byte[FileLen];
HttpPostedFile hp = FileUpload1.PostedFile;//创建访问客户端上传文件的对象
Stream sr = hp.InputStream;//创建数据流对象
sr.Read(FileData, 0, FileLen);//将图片数据放到FileData数组对象实例中,其中0代表数组指针的起始位置,FileLen表示要读取流的长度(指针的结素位置)
SqlConnection con = new SqlConnection("server=(local);user id=sa;pwd=;database=db_Register");
con.Open();
SqlCommand com = new SqlCommand("INSERT INTO goods (姓名,名称,数量,picture) VALUES ('" + name.Text + "','" + good.Text + "','" + number.Text + "',@imgdata)", con);
com.Parameters.Add("@imgdata", SqlDbType.Image);
com.Parameters["@imgdata"].Value = FileData;
com.ExecuteNonQuery();
// Label3.Text = "保存成功!";
Response.Write("<script>alert('数据插入成功!')</script>");
}
catch (Exception error)
{
// Label3.Text = "处理失败!原因为:" + error.ToString();
Response.Write("<script language=javascript>alert('添加失败!为什么呢?')</script>");
}
以上代码好用,但是必须得选图片,我想改成可选可不选都能添加的
请指点下,谢谢