//定义Byte[]类型
Byte[] fileData;
private void bindPic()
{
if (picFile.PostedFile.FileName != "")
{
FileInfo fi = new FileInfo(Server.MapPath(labImg.Text.ToString()));
if (fi.Exists)
fi.Delete();
string name = picFile.PostedFile.FileName.Substring(picFile.PostedFile.FileName.LastIndexOf("\\") + 1);
int length = Convert.ToInt32(picFile.PostedFile.ContentLength);
string type = picFile.PostedFile.ContentType.Substring(0, 5);
if (length <= 3000000)
{//图片大小合适
if (type == "image")
{//图片类型合适
picFile.PostedFile.SaveAs(Server.MapPath("~/Upload/" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + name));
labImg.Text = "~/Upload/" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + name;
img.Src = "~/Upload/" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + name;
/转化为二进制
fileData=new Byte[length];
HttpPostedFile hp =picFile.PostedFile;
Stream sr = hp.InputStream;
sr.Read(fileData,0,length);
sr.Close();
}
else
{
labImg.Visible = true;
labImg.Text = "上传文件格式不正确!";
Response.Write("<script>alert('上传文件格式不正确!')</script>");
a = 1;
}
}
else
{
labImg.Visible = true;
labImg.Text = "上传文件大小请限制在3M之内!";
Response.Write("<script>alert('上传文件大小请限制在3M之内!')</script>");
a = 1;
}
}
}
///上传按钮
protected void btnUp_Click(object sender, EventArgs e)
{
bindPic();
if(a==1)
{
return;
}
string insert = "insert into img(img,imgname) values(@img,@imgname)";
SqlParameter[] param ={new SqlParameter("@img",SqlDbType.Image),
new SqlParameter("@imgname",SqlDbType.NVarChar)};
param[0].Value = fileData;
param[1].Value = labImg.Text;
int count = sqlHelper.ExecuteNonQuery(sqlHelper.conn, CommandType.Text, insert, param);
if (count > 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('操作成功')</script>");
// Response.BinaryWrite(fileData);
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('操作失败')</script>");
}
}
}
/
///显示图片
Response.ContentType = "application/octet-stream";
Response.BinaryWrite((Byte[])dr["img"]);
注:如果要在img控件中显示则<img src="显示二进制图片的页面">