html页面中经常会用到file进行选择图片上传到服务器,对于asp.net,还是有一些讲究的,
如果form中有runat=server,file中也要有,这样post的数据是自身.aspx.cs来接收post数据的,
如果form中没有runat=server,file中也不要有,这时要指定form的action 为另一个页面,再进行处理。
两种方式存储图片:
一、保存图片流
数据库表字段对应的格式为image,类字段属性为byte[],
public static byte[] StreamToBytes(Stream stream)//这是类型转换的方法,下边会用到
{
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
// 设置当前流的位置为流的开始
stream.Seek(0, SeekOrigin.Begin);
return bytes;
}
StreamToBytes(Request.Files[3].InputStream;//第四个filepost的图片流转为byte[],
类中插入数据的方法是关键:
insert into table(img) values(@fs) //为何这样写,看SQLHelper中的ExecuteSqlInsertImg这个方法就知道了。