当前位置:首页 > 申请书大全 > [基于ASP.NET实现图片存储数据库及页面读取研究与应用] 怎么从页面读取数据库信息
 

[基于ASP.NET实现图片存储数据库及页面读取研究与应用] 怎么从页面读取数据库信息

发布时间:2019-07-06 03:53:48 影响了:

  摘要:对于Asp.net中存储签名图片,做了一个详细解决方案。完善了客服端碰到的在数据库存储一个签名图片所遇到的问题。  关键词:ASP.NET;数据库;存储图片;SQL Server
  中图分类号:TP392文献标识码:A文章编号:16727800(2012)008014604
  基金项目:四川省教育厅自然科学基金项目(12ZB040);四川省教育厅教育发展研究中心基金项目(CJF10019);川北医学院教改基金项目 (11-06-019)
  作者简介:刘正龙(1976-),男,硕士,川北医学院计算机与数学教研室副教授,研究方向为计算机与数学教学和研究。
  0引言
  随着计算机网络与信息技术的迅速发展,Web已经成为各类信息系统开发的主流平台,许多信息网站在发布信息时均采用基于数据库的动态信息发布系统。基于ASP.NET技术进行图片的上传与下载,需要使用专门的ASP文件上传组件或ISAPI扩展程序,这限制了程序设计的灵活性。同时由于图片属于复杂类型数据,在SQL Server数据库中与声音、大型电子表格等共用一个image字段类型,而且图片本身也有不同的数据格式,如.Gif或.Jpg,无法用操作一般字段的方法进行存取。针对这一实际问题,本文介绍了基于ASP.NET实现Web图片存取的新方法,通过利用ASP.NET中的上传文件对HttpPostedFile、ADO.NET Stream对象及ADO、NET提供的经过优化的SQL Server对象集,使Web信息中的图片上传到服务器并存入后台数据库,以及从数据库读取图片并在网页上显示更为简捷高效。采用开发环境为ASP.NET+SQL2000数据库。
  1图片的处理方式
  对于图片的处理有两种方式:①图片数据以文件形式直接存储在硬盘,在数据库中保存该图片的记录附加信息(路径、文件名、注释); ②图片直接存储在数据库中。这两种方式各有利弊。图片文件存入数据库中便于管理与维护,而存入硬盘可能会因为不小心删除图片文件,而使得数据不一致,但图片放在数据库中不便于修改编辑, 同时会引起数据库读取数据时的I/O 消耗,而放在硬盘上则不会引起这个问题。所以对于小文件,建议放在数据库中便于管理,而对于大文件,不可放在数据库中,否则数据库表会大量产生数据文件的碎片。
  图1ASP.NET系统结构模型
  2图片存储方法
  该系统使用ASP.NET 和SQL Server 数据库实现图片的存储。将图片存放到硬盘指定的目录下,将图片的相对存储路径和其它附属信息存储到数据库中。开发平台使用的语言为VB,数据库访问技术为ADO.NET,数据访问机制采用的是ADO.NET里的OleDb机制。
  3数据库表设计
  3.1存储图片ImageStore表数据库设计
  create table StoreImage
  {
  id int not null identity(1,1) primary key,
  markname varchar(100) not null,--图片备注名称
  markContent image not null,--文件内容
  markType varchar(100) not null,--保存文件类型 用于生成
  markSize int not null,--图片长度 读取数据用
  markLinkUrl varchar(1000) not null,--数据库路径
  markDate datetime not null default( getdate())--上传时间
  }
  go
  其中在表设计中添加了上传图片文件类型和文件大小(Byte字节大小),主要为了读取时对图片显示进行控制,存储图片内容采用Image类型,SQL2005数据容量为2G,对应C#中类型Byte (字节数组),其中在设计中参考使用SQL中Binary类型, 但是测试后发现Binary类型容量范围1~8 000字节,对于图片容量太小, markLinkUrl测试以图片路径方式存储并读取显示在页面的方式。
  3.2后台数据库的配置
  图片管理系统使用SQL Server 2000 数据库,代码如下:
  Import System.Data.OleDb
  Public Class conn
  Inherits System.Web.UI.Page
  /定义一个数据库连接
  Public conn As OleDbConnection = New OleDbConnection("Provider=
  SQLOLEDB;DataSouce=(local);Initial Catalog=pic;User=sa;Pwd=sa")
  End Class
  3.3图片存储到数据库并读取
  图片存储:通过文件上传获取图片并转换成Byte\[\]字节数组,保存到数据库Image字段,页面设计如下代码:
  <script language="javascript" type="text/javascript">
  function checkClint()
  {
  var getmarkname=document.getElementById("markname");
  var getfile=document.getElementById("FileUpload1");
  if(getmarkname.value=="")
  {
  alert("请输入图片备注名称!");
  getmarkname.focus();
  return false;

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3