`
zh3361264
  • 浏览: 11260 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

ASP.NET中让图片以二进制的形式存储在数据库中

阅读更多

    建立保存图片的表的SQL语句:

 

USE [niunantest]
GO
/****** 对象:  Table [dbo].[picdata]    脚本日期: 03/30/2010 14:51:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[picdata](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[content] [image] NULL,
	[createdate] [datetime] NOT NULL CONSTRAINT [DF_picdata_createdate]  DEFAULT (getdate()),
 CONSTRAINT [PK_picdata] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    下面是保存图片到数据库中的代码片段:

        int len = fu.PostedFile.ContentLength;  // 图片大小
        byte[] pic = new byte[len];  // 创建一个字节数组,大小为图片的大小,数据库中就存储这个东西
        fu.PostedFile.InputStream.Read(pic, 0, len); // 把上传控件中的文件用二进制读取存到pic字节数组中
        //   插入图片到数据库中     
        SqlConnection connection = new
        SqlConnection(@"server=.\sqlexpress;database=niunantest;uid=sa;pwd=123456");
        try
        {
            connection.Open();
            SqlCommand cmd = new SqlCommand("insert   into   picdata   "
            + "([content])   values   (@pic)", connection);
            cmd.Parameters.Add("@pic", pic);
            cmd.ExecuteNonQuery();
            Label1.Text = "图片插入数据库成功!";

            Image1.ImageUrl = "getpic.ashx?t=" + DateTime.Now.Ticks;  // 显示刚刚插入数据库的图片
        }
        finally
        {
            connection.Close();
        } 

    下面是从数据库中取出图片的代码片段:

        MemoryStream stream = new MemoryStream();
        SqlConnection connection = new
        SqlConnection(@"server=.\sqlexpress;database=niunantest;uid=sa;pwd=123456");
        try
        {
            connection.Open();
            SqlCommand command = new
            SqlCommand("select top 1  [content]   from   picdata order by id desc", connection);
            byte[] image = (byte[])command.ExecuteScalar();
            stream.Write(image, 0, image.Length);
            Bitmap bitmap = new Bitmap(stream);
            context.Response.ContentType = "image/jpeg";
            bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
        finally
        {
            connection.Close();
            stream.Close();
        } 

    其实也就是通过流把图片搞成字节数组再存到数据库中,然后再从数据库中读取字节数组出 来,再通过字节数组创建流,再通过流把图像输出出来,发现你存到数据库中的是gif图像的话再取出来是可以把他转为jpg的图像的,因为在取出图像的时候 我们设置他的ContentType是image/jpeg了。

 

 

    转自牛腩

分享到:
评论

相关推荐

    ASP.NET实现图片以二进制的形式存入数据库

    本文以实例形式讲述了ASP.NET实现图片以二进制的形式存入数据库的方法。过去我们都是直接在数据库中存入图片文件名的,还没有试过存储整张图片到数据库中,经过一番资料查询与测试,整理出了如下的功能代码: 1.建立...

    asp.net实现从数据库中下载以二进制存储的图片

    asp.net(C#)实现从sqlserver数据库中下载以二进制存储的图片

    Asp.net把图片存入数据库和读取图片的方法

    网上关于ASP.NET上传图片到数据库的资料非常多,常用的如下:存储图片类型数据有以下几种方式:1.将图片转换为二进制数组(byte[]) 代码如下:byte[] fileData = this.FileUpload1.FileBytes; 2. 根据路径将文件转换...

    ASP.NET图片以二进制上传数据库,并从数据库中显示

    用ASP.NET实现图片存储到数据库,并从数据库中显示所存储的图片。

    如何将图片转换成二进制存储

    存储图片:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是Byte[]. 1.参数是图片路径:返回Byte[]类型: public byte[] GetPictureData(string imagepath) { /**/////...

    aspnet(C#)实现从sqlserver数据库中下载以二进制存储的图片

    aspnet(C#)实现从sqlserver数据库中下载以二进制存储的图片 京华志&精华志出品 分享资源 C# ASP.NET SQL DBA 源码

    ASP.NET使用fileupload控件上传图片

    ASP.NET使用fileupload控件上传图片到文件夹并以二进制存储于数据库中

    图片上传(以二进制存储)

    使用Web模式将图片以二进制存储到数据库并读取出来

    图片存储到数据库保存二进制文件

    asp.net 将图片存储到数据库 读取数据库二进制文件

    asp.net图片存取技术实例

    1、将上传图片名称存储到数据库中 2、将图片以二进制格式存储到数据库中 3、读取数据库中上传图片名称并显示图片 4、读取并显示数据库中以二进制方式存储图片 附加数据库直接运行

    用ASP.NET实现对Image类型数据的存取

    通过对ADO.NET技术特点的简要介绍,提出了对数据库中Image...该实例为数据库中多种二进制大对象类型的数据,包括图片、声音、视频及各种Office文档等进行存储与显示提供了一种可行的有效方法,并且给出部分程序源代码

    用asp.net上传图片资源

    将图片转换为二进制数据流存储到数据库。从数据库中读取图片通过将二进制转换为图片类型显示到页面中

    asp.net知识库

    使用.ashx文件处理IHttpHandler实现发送文本及二进制数据的方法 制作一个简单的多页Tab功能 一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标...

    asp.net上传图片保存到数据库的代码

    数据库:保存图片的数据格式 图象二进制数据储存字段前台: 代码如下: <%@ Page Language=”C#” AutoEventWireup=”true” CodeBehind=”UploadWork.aspx.cs” Inherits=”meishuguan.UploadWork” %> <!...

    ASP.NET开发实战1200例(第Ⅰ卷)第二十章

    实例533 读取并显示数据库中以二进制形式 存储的头像 809 实例534 解决同名文件覆盖问题实现上传图片 统一命名 810 实例535 开源节流——使用缓存区输出图像 812 20.4 图片大小与特效控制(应用AJAX 技术) 813 实例...

    asp.net技术内幕(1)

    第一部分 使用ASP.NET Web表单 <br>第1章 建立ASP.NET页面 <br>1.1 ASP.NET和.NET框架 1.1.1 .NET框架类库 1.1.2 理解名称空间 1.1.3 标准的ASP.NET名称空间 1.1.4 与.NET框架兼容的语言 ...

    asp.net MD5加密

    很好用的一个MD5 示例 在数据库存储的显示的是二进制形式

    一个漂亮的fileupload控件

    fileupload控件,在网上找的,源代码,可以直接打开,感觉挺漂亮的,大家可以一看,或许有点帮助

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...

Global site tag (gtag.js) - Google Analytics