My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > Asp > 综合文章
【翻译】保存图片到SQL 2000 Server数据库
作者:未知 时间:2005-03-15 12:12 出处:Blog 责编:MyFAQ
              摘要:暂无

原文出处:http://www.codeproject.com/aspnet/PicManager.asp

保存图片到SQL 2000 Server数据库
作者: vivekthangaswamy

ASP.NETWeb页面中怎样上传文件?怎样使用ADO.NET技术从数据库中读取一幅图片,并在Web页面上显示?

 

摘要

.NET是由微软开发的一种新型的分布式计算平台,ASP.NET是它针对Web开发的编程模式。本文的目的是在开发数据驱动的ASP.NET Web应用程序中获取一些好的经验。这个应用程序将告诉你怎么把一幅图片保存到数据库中以及怎样把图片从数据库中读取出来。它以ADO.NET作为数据访问机制,C#作为编程语言,SQL 2000 Server作为后台数据库。

概述

一般的,很大的图片文件往往被保存在Web服务器的文件夹中,而不是数据库中。在一些实例中,以银行系统为例,人们先把用户的签名做成图片文件,然后保存到数据库中。

  • 数据库模式

在这个示范中,微软的SQL 2000 Server被用作后台数据库。我使用了一种比较特殊的数据类型 image 。这 image 数据类型是被用来保存图片到数据库的。

  • 所使用的控件:

    • System.Web.UI.HtmlControls.HtmlInputFile

    • System.Web.UI.WebControls.TextBox

    • System.Web.UI.WebControls.Button

  • 所使用的名字空间:

       using System.Data.SqlClient;

       using System.Drawing;

using System.Data;

using System.IO;

using System.Drawing.Imaging;

编码

使用 HtmlInputFile 类,它可以用 <input type="file" runat="server"/> 标签来声明一个实例。下面的例子是一个完整的 ASPX 文件,它让用户上传图片文件以及图片的说明。OnUpload 方法把图片以及说明写到iSense 数据库的Picture 表中。

// 保存图片文件到数据库的源码

 

public void OnUpload(Object sender, EventArgs e)

{

// 从输入文件中创建一个 byte[]

int len = Upload.PostedFile.ContentLength;

    byte[] pic = new byte[len];

    Upload.PostedFile.InputStream.Read (pic, 0, len);

// 插入图片和说明到数据库中

 SqlConnection connection = new 

     SqlConnection (@"server=INDIA\INDIA;database=iSense;uid=sa;pwd=india");

    try

    {

        connection.Open ();

        SqlCommand cmd = new SqlCommand ("insert into Image " 

          + "(Picture, Comment) values (@pic, @text)", connection);

        cmd.Parameters.Add ("@pic", pic);

        cmd.Parameters.Add ("@text", Comment.Text);

        cmd.ExecuteNonQuery ();

    }

    finally 

    {

        connection.Close ();

    }

}

上面创建的函数可以通过使用按钮的 onClick 属性来调用。

如何使用ADO.NET技术从数据库中读取图片并把它显示在Web页面上?

这里,我使用Web页面来显示图片,而没有用其他任何控件。下面的代码是用来显示数据库中的图片。

private void Page_Load(object sender, System.EventArgs e)

{

    MemoryStream stream = new MemoryStream ();

    SqlConnection connection = new 

      SqlConnection (@"server=INDIA\INDIA;database=iSense;uid=sa;pwd=india");

    try

    {

        connection.Open ();

        SqlCommand command = new 

          SqlCommand ("select Picture from Image", connection);

        byte[] image = (byte[]) command.ExecuteScalar ();   

        stream.Write (image, 0, image.Length);

        Bitmap bitmap = new Bitmap (stream);

        Response.ContentType = "image/gif";

        bitmap.Save (Response.OutputStream, ImageFormat.Gif);

    } 

    finally

    {

        connection.Close ();

        stream.Close ();

    }

}

GDI+函数为操作和定义图片提供了一个丰富的功能集合。本文的例子只能看到它的一小部分功能。你可以使用 System.Drawing System.Drawing.Imaging 名字空间来调用这些功能。举例来说,你可以开发在Web上保存和管理图片文件的应用程序,或者你可以一个简单、易配置的应用程序使用户能够操作图片。

如何运行程序?

首先,创建一个虚拟目录,把你的工程文件放到这虚拟目录中。然后改变服务器名称,数据库名称以及表的名称,如下所示:

SqlConnection connection = new SqlConnection

        ("server=localhost;database=mypictures;uid=sa;pwd=");

然后公布你的工程以获得最好的结果。

 

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有