图片以二进制方式存入SQL Server数据库

2018-12-06 21:08

1、建所需数据库和表,语句如下:

--建立数据库 create database test

--使用该数据库 use test

--建立存放图片的表 create table piclist( id int Identity primary key, pic Image not null )

2、制作上传图片的模块,代码如下: 前台html代码:

<%@ Page Language=\Inherits=\

无标题页

后台代码: using System; using System.Data; using System.Configuration; using System.Collections;

using System.Web; using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO;

using System.Data.SqlClient;

public partial class Test_UpPhoto : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) { }

protected void btnAdd_Click(object sender, EventArgs e) {

//获得图象并把图象转换为byte[]

HttpPostedFile upPhoto = UpPhoto.PostedFile; int upPhotoLength = upPhoto.ContentLength; byte[] PhotoArray = new Byte[upPhotoLength]; Stream PhotoStream = upPhoto.InputStream; PhotoStream.Read(PhotoArray, 0, upPhotoLength);

//连接数据库

string ConStr = \ SqlConnection conn = new SqlConnection(ConStr);

string strSql = \ SqlCommand cmd = new SqlCommand(strSql, conn); cmd.Parameters.Add(\ cmd.Parameters[\

conn.Open();

cmd.ExecuteNonQuery(); conn.Close();

Response.Write(\图片上传成功\ } }

3、制作显示图片的模块(单独显示图片,即没用到datalist):

后台代码: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.IO;

public partial class Test_ShowPhoto : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) {

if(!Page.IsPostBack) {

//连接数据库

string ConnStr = \ string strSql = \

SqlConnection conn = new SqlConnection(ConnStr); conn.Open();

SqlCommand cmd=new SqlCommand(strSql,conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) {

Response.ContentType = \ Response.BinaryWrite((Byte[])reader[\ Response.Write(\ }

reader.Close(); conn.Close(); Response.End(); } } }

补充步骤3,用datalist显示图片方法:

建立两个asp.net 页面,名称为piclist.aspx和StreamImg.aspx。 piclist.aspx前台代码为:

<%@ Page Language=\Inherits=\

无标题页

piclist.aspx后台代码为: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.IO;

public partial class Test_Test : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) {

if (!Page.IsPostBack) {

//连接数据库

string ConnStr = \ SqlConnection sqlcon = new SqlConnection(ConnStr); sqlcon.Open();

string sqlstr = \

SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, sqlcon); DataSet ds = new DataSet(); MyAdapter.Fill(ds, \ this.dlContent.DataSource = ds; this.dlContent.DataBind(); sqlcon.Close(); } } }

StreamImg.aspx无前台代码,后台代码为: using System;

using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI;

using System.Web.UI.HtmlControls; using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient;

using System.IO;

public partial class StreamImg : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) {

//string type = Request.QueryString[\

int id = Convert.ToInt32(Request.QueryString[\ ShowPic(id); }

private void ShowPic(int id) {

//连接数据库

string ConnStr = \ string strSql = \ SqlConnection conn = new SqlConnection(ConnStr); conn.Open();

SqlCommand cmd = new SqlCommand(strSql, conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) {

Response.ContentType = \ Response.BinaryWrite((Byte[])reader[\ Response.Write(\ }

reader.Close(); conn.Close(); Response.End(); } }

18


图片以二进制方式存入SQL Server数据库.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:无机及分析化学课后习题第七章答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: