数据库存图片和文件,客户端浏览图片或下载文件
来源:互联网 发布:oppou529软件 编辑:程序博客网 时间:2024/06/09 16:04
数据库存图片和文件,客户端浏览图片或下载文件(通过Model层,多层应用)
1、数据库:
2、模型层:
3、DAL层:
4、BLL业务逻辑层(省略)
5、界面层
(1)、添加:
(2)、BLOB输出页面:(图片显示或文件下载)
去除aspx文件中的所有HTML代码,只留一行声明行
(3)、展示页:
(4)、列表页
6、小结:
(1)、从上传控件到byte数组:
int len = upload_file.ContentLength; //读上传文件,上传文件字节大小
bo.AttachmentFile = new byte[len]; //读上传文件,初始化一个byte数组,长度为上传文件字节大小
upload_file.InputStream.Read(bo.AttachmentFile, 0, len); //读上传文件,上传文件.输入流.读(字节数组,从0开始,长度为文件大小)
(2)、从byte数组插入到数据库Image类型的字段里:
SqlParameter para_AttachmentFile = new SqlParameter("@AttachmentFile", SqlDbType.Image); //参数类型为Image
para_AttachmentFile.Value = bo.AttachmentFile;
paras.Add(para_AttachmentFile);
(3)、从数据库Image类型的字段读出到byte数组:
bo.AttachmentFile = (byte[])objReader.GetValue(2);
(4)、从byte数组输出到aspx页面:
(4.1)提供下载:
private void ExportDownload(bol.Article bo)
{
string fileName = string.Format("attch_{0}.{1}", bo.Pkid, bo.FileExtName); //客户端保存的文件名
Response.Clear();
Response.Buffer = true;
Response.Charset = "utf-8";
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.ContentType = "application/octet-stream";
Page.EnableViewState = false;
Response.BinaryWrite(bo.AttachmentFile);
}
(4.2)图片输出显示:
private void ExportImage(bol.Article bo)
{
MemoryStream stream = new MemoryStream();
stream.Write(bo.AttachmentFile, 0, bo.AttachmentFile.Length);
Bitmap bitmap = new Bitmap(stream);
string content_type = "image/jpeg"; //默认为jpg格式
ImageFormat img_format = ImageFormat.Jpeg; //默认为jpg格式
if (bo.FileExtName.ToLower().CompareTo("gif") == 0)
{
content_type = "image/gif";
img_format = ImageFormat.Gif;
}
else if ("jpg|jpeg|jpe".Contains(bo.FileExtName.ToLower()))
{
content_type = "image/jpeg";
img_format = ImageFormat.Jpeg;
}
Response.ContentType = content_type;
bitmap.Save(Response.OutputStream, img_format);
}
- 数据库存图片和文件,客户端浏览图片或下载文件
- 用TreeView控件实现资源管理器(显示本地硬盘下所有文件夹和文件,并可以浏览图片)(示例代码下载)
- 用TreeView控件实现资源管理器(显示本地硬盘下所有文件夹和文件,并可以浏览图片)(示例代码下载)
- 用TreeView控件实现资源管理器(显示本地硬盘下所有文件夹和文件,并可以浏览图片)(示例代码下载)
- 用TreeView控件实现资源管理器(显示本地硬盘下所有文件夹和文件,并可以浏览图片)(示例代码下载)
- 下载文件或图片
- Android 数据库存图片
- tomcat项目使用nginx中的图片和文件下载
- 在本地存储localStorage/sessionStorage中保存图片和文件(真的不适合保存文件图片大数据)
- android app 浅谈文件上传(图片和文件)
- 用TreeView控件实现资源管理器(显示本地硬盘下所有文件夹和文件,并可以浏览图片)
- 数据库保存图片和文件保存图片
- 文件上传和文件下载
- 数据库存txt和图片
- NSOperation 的使用(下载相关) 图片和文件都是可以的 断点续传 图片逐渐显示
- javascript浏览文件后可以直接显示客户端的图片
- 显示图片和文件路径.doc
- WindowsPhone8中的图片共享和文件共享
- 清华大学计算机系全套教程
- CSS选择器笔记
- VS2008 JS文件Founction List实现
- Spring Security 安全权限管理手册(0.0.8更新)
- GridView1排序
- 数据库存图片和文件,客户端浏览图片或下载文件
- ERP选型之三味书屋
- 正则表达式: 关于 的通用正则表达式(转)
- java socket/Serversocket编程详解(中/英)
- 插件技术原理及其C#实现(二)用C#编写插件
- DNS 服务器遇到很多运行时间事件问题解决办法。
- [转]grep用法大全 zt
- 一篇不错的介绍Java Socket编程的文章
- 错误 error LNK2019: 无法解析的外部符号 "void __cdecl ........的解决