ASP.NET中常用功能代码总结(3)——上传图片到数据库<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

整理:Terrylee

一.上传图片到数据库

 1/**//// <summary>
 2/// 上传图片
 3/// </summary>
 4private void UploadFile()
 5{
 6    /**////得到用户要上传的文件名
 7    string strFilePathName = loFile.PostedFile.FileName;
 8    string strFileName = Path.GetFileName(strFilePathName);
 9    int FileLength = loFile.PostedFile.ContentLength;
10
11    if(FileLength<=0)
12        return;
13
14    /**////上传文件
15    try
16    {
17        
18        /**////图象文件临时储存Byte数组
19        Byte[] FileByteArray = new Byte[FileLength];
20
21        /**////建立数据流对像
22        Stream StreamObject = loFile.PostedFile.InputStream; 
23
24        /**////读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
25        StreamObject.Read(FileByteArray,0,FileLength); 
26
27        /**////建立SQL Server链接
28        string strCon = System.Configuration.ConfigurationSettings.AppSettings["DSN"];
29        SqlConnection Con = new SqlConnection(strCon);
30        String SqlCmd = "INSERT INTO ImageStore (ImageData, ImageContentType, ImageDescription, ImageSize) VALUES (@Image, @ContentType, @ImageDescription, @ImageSize)";
31        SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
32        CmdObj.Parameters.Add("@Image",SqlDbType.Binary, FileLength).Value = FileByteArray;
33        CmdObj.Parameters.Add("@ContentType", SqlDbType.VarChar,50).Value = loFile.PostedFile.ContentType; //记录文件类型
34        
35        /**////把其它单表数据记录上传
36        CmdObj.Parameters.Add("@ImageDescription", SqlDbType.VarChar,200).Value = tbDescription.Text;
37        
38        /**////记录文件长度,读取时使用
39        CmdObj.Parameters.Add("@ImageSize", SqlDbType.BigInt,8).Value = FileLength;
40        Con.Open();
41        CmdObj.ExecuteNonQuery(); 
42        Con.Close();
43
44        /**////跳转页面
45        Response.Redirect("ShowAll.aspx");
46    }
47    catch(Exception ex)
48    {
49        throw ex;
50    }
51}

二.从数据库中读取图片

 1/**//// <summary>
 2/// 显示图片
 3/// </summary>
 4private void ShowImages()
 5{
 6    /**////ID为图片ID
 7    int ImgID = Convert.ToInt32(Request.QueryString["ID"]);  
 8    
 9    /**////建立数据库连接
10    string strCon = System.Configuration.ConfigurationSettings.AppSettings["DSN"];
11    SqlConnection Con = new SqlConnection(strCon);
12    String SqlCmd = "SELECT * FROM ImageStore WHERE ImageID = @ImageID";
13    SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
14    CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = ImgID;
15    
16    Con.Open();
17    SqlDataReader SqlReader = CmdObj.ExecuteReader();
18    SqlReader.Read(); 
19
20    /**////设定输出文件类型
21    Response.ContentType = (string)SqlReader["ImageContentType"];
22    
23    /**////输出图象文件二进制数制
24    Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0, (int)SqlReader["ImageSize"]); 
25    Response.End();
26
27    Con.Close();    
28}

转载于:https://www.cnblogs.com/Terrylee/archive/2005/11/30/287982.html

ASP.NET中常用功能代码总结(3)——上传图片到数据库相关推荐

  1. ASP.NET中常用功能代码总结(1)——发送邮件篇

    ASP.NET中常用功能代码总结(1)--发送邮件篇<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office: ...

  2. ASP.NET中常用功能代码总结(5)——文件操作篇

    一.读取文本文件<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ...

  3. Wordpress模板主题中functions.php常用功能代码与常用插件[ 后台篇](持续收集整理)

    用Wordpress建站的初学者一定会需要用到的Wordpress模板主题中functions.php常用功能代码与常用插件.慢慢持续收集整理....... 目录 一.Wordpress模板主题中fu ...

  4. Asp.NET中常用的一些优化性能的方法

    ASP.NET 的缓存机制相比ASP有很大的改进,本文档除对常用优化方法进行总结介绍外,强调了如何使用ASP.NET的缓存来获得最佳性能. 1:不要使用不必要的session 和ASP中一样,在不必要 ...

  5. [转帖]ASP.NET中常用的优化性能的方法

    ASP.NET中常用的优化性能的方法(转贴,Icyer收集整理) 1.       数据库访问性能优化     数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要 ...

  6. ASP.NET中常用的文件上传下载方法

    ASP.NET中常用的文件上传下载方法 文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务 ...

  7. ASP.Net 中常用的数据库连接方式

    ASP.Net 中常用的数据库连接方式 在ASP.Net中,连接数据库有以下四种方式: 1.System.Data.OleDb.OleDbConnection 2.System.Data.SqlCl ...

  8. NC65在日常开发中常用的代码写法

    标题 NC65开发相关代码 版本 1.0.1 作者 walton 说明 收集NC在日常开发中常用的代码写法,示例展示 1.查询 1.1 通过BaseDAO查询结果集并转换 //通过BaseDAO进行查 ...

  9. iOS开发:对于Xcode的Open Developer Tool中常用功能使用的总结

    整理一下Xcode菜单栏里面Open Developer Tool里面的功能,这里只介绍常用的几个功能的使用,剩余没有介绍到的功能模块请自行脑补... 根据Open Developer Tool菜单栏 ...

最新文章

  1. ubuntu笔记 - 安装和配置Sublime Text
  2. Java 调用Dll
  3. C++ STL list构造
  4. meterpreter持久后门
  5. STM32F103标准库函数驱动max30102心率血氧模块
  6. Windows重新安装系统后安装软件步骤
  7. 手机怎么将视频制作成GIF?手机端动态图片制作的方法
  8. bzoj 4874: 筐子放球
  9. poi导出xlsx文件后,打开报“因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。”的解决方法
  10. 《麦肯锡结构化战略思维》:4大原则 5个步骤,快速了解一个行业
  11. ubuntu18.04环境下为UR3配置MoveIt!运动学插件IKFAST(一)
  12. 【DOORS】如何基于DOORS实施需求管理
  13. UCOSIII总结------消息队列(6)
  14. 魔兽争霸英雄英语名称
  15. Java调用SMS短信通API实现发短信功能
  16. python多线程(Multiprocessing)与多线程(Multithreading)区别优缺点最详细解释
  17. 百度地图查询周围建筑
  18. 编译原理8:递归下降分析器、扩充巴斯克范式、JavaCC
  19. 基于注意力的语义分割之PSANet、DANet、OCNet、CCNet、EMANet、SANet等
  20. 嵌入式系统工程化设计4

热门文章

  1. 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.2 安装数据库软件)...
  2. oracle中decode和case的使用例子
  3. gradle工作流程
  4. 【Node】node的模块
  5. Android窗口View层次
  6. (一)Linux基础(1)
  7. 关键字—final static const的区别
  8. 设计模式—责任链模式
  9. c++学习笔记之指针
  10. uva1152 - 4 Values whose Sum is 0(hash或STL技巧ac)