ASP.NET C#(4.0) + SQL2008 R2 多图片上传并生成缩略图一并保存至数据库
2011-04-20 14:17
891 查看
网上类似上传并保存至数据库的文章不少,不知道是我环境不行,还是怎么得,总是有问题,而且也没同时成缩略图的,经过二天的调试,终于搞定,主要代码如下:
数据库结构
Images(ID int, Photo varbinary(MAX)
, smallPhoto varbinary(MAX)
)
前台代码
<form id="form1" runat="server" enctype="multipart/form-data">
<asp:FileUpload ID="imgPath" runat="server" Width="300px">
</form>
(注:多个FileUpload可使用js操作,js代码略)
后台代码
目前我只测试了上传200K的图片没有任何问题,具体最大图片能到多少K,需要查询MSDN了
需要注意的是,我试过Image的数据类型,怎么都不行,使用varbinary(MAX)就没问题
数据库结构
Images(ID int, Photo varbinary(MAX)
, smallPhoto varbinary(MAX)
)
前台代码
<form id="form1" runat="server" enctype="multipart/form-data">
<asp:FileUpload ID="imgPath" runat="server" Width="300px">
</form>
(注:多个FileUpload可使用js操作,js代码略)
后台代码
if (HttpContext.Current.Request.Files != null) { HttpFileCollection _files = HttpContext.Current.Request.Files; for (int i = 0; i < _files.Count; i++) { if (_files[i] != null && _files[i].ContentLength != 0) { ///处理上载的文件流信息。 byte[] b = new byte[_files[i].ContentLength]; Stream fs = (Stream)_files[i].InputStream; fs.Read(b, 0, _files[i].ContentLength); MemoryStream m = new MemoryStream(); Bitmap img = new Bitmap(fs); //产生缩略图并保存 img.GetThumbnailImage(110, 135, null, new IntPtr()).Save(m, System.Drawing.Imaging.ImageFormat.Jpeg); if (b.Length > 0 && (int)m.Length > 0) { string sql = "INSERT INTO Images(Photo,smallPhoto) VALUES(@Photo,@smallPhoto)"; SqlParameter[] parameters = { new SqlParameter("@Photo", SqlDbType.VarBinary), new SqlParameter("@smallPhoto", SqlDbType.VarBinary) }; parameters[0].Value = b; parameters[1].Value = m.ToArray(); (存入数据库代码略) } } } }
目前我只测试了上传200K的图片没有任何问题,具体最大图片能到多少K,需要查询MSDN了
需要注意的是,我试过Image的数据类型,怎么都不行,使用varbinary(MAX)就没问题
相关文章推荐
- 在ASP.NET中上传图片并生成缩略图的C#源码
- asp.net(c#)上传图片生成缩略图
- 在ASP.NET中上传图片并生成缩略图的C#源码
- asp.net上传的图片保存到文件夹下,并且生成缩略图
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- ASP.NET C#上传图片生成缩略图
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- 在ASP.NET中上传图片并生成缩略图的C#源码
- 在ASP.NET中上传图片并生成缩略图的C#源码 (转载)
- 图片文件上传, 生成高质量缩略图 (asp.net c#)
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- 在ASP.NET中上传图片并生成缩略图的C#代码
- 在ASP.NET中上传图片并生成缩略图的C#源码
- asp.net(c#)上传图片生成缩略图
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- 在ASP.NET中上传图片并生成缩略图的C#源码
- ASP.NET 不经保存,直接生成上传图片的等比例的高质量缩略图
- [网络收集]使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- 在ASP.NET中上传图片并生成缩略图的C#源码