社区
ASP
帖子详情
在SQL SERVER中如何存储图片,并可以显示
chuting1
2007-01-28 02:09:36
产品说明里有图片,SQL SERVER里设置有image类型的字段来存储,如果做
写入后,如果显示出来
...全文
2287
14
打赏
收藏
在SQL SERVER中如何存储图片,并可以显示
产品说明里有图片,SQL SERVER里设置有image类型的字段来存储,如果做 写入后,如果显示出来
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cow8063
2007-01-29
打赏
举报
回复
or
<img src="inc/product_showimg.asp?product_id=<%=(rs.Fields.Item("product_id").Value)%>" >
'***********************
'
product_showimg.asp
'***********************
<%
Response.Buffer = True
Response.Expires = 0
Response.Clear
Response.ContentType = "image/gif"
%>
<%
set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = MM_conn_STRING
rs.Source = "SELECT product_smallpic FROM products WHERE product_id = " & Request("product_id")
rs.CursorType = 1
rs.CursorLocation = 2
rs.LockType = 3
rs.Open()
s = rs("product_smallpic").ActualSize
data = rs("product_smallpic").GetChunk(s)
Response.BinaryWrite data
%>
<%
rs.Close()
%>
cow8063
2007-01-29
打赏
举报
回复
<%
'<!--#include file="adovbs.inc"-->
Dim oConn
Dim oRs
Dim Pic
Dim PicSize
sqlstr=Request.QueryString("sqlstr")
Response.Buffer = TRUE
Response.ContentType = "image/gif"
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open session("filedsn")
' Query SQL to obtain recordset containing gif BLOB
Set oRs = oConn.Execute(sqlstr)
'
' Obtain local variable of GIF
PicSize = oRs("color").ActualSize
Pic = oRs("color").GetChunk(PicSize)
Response.BinaryWrite Pic
Response.End
%>
Webmagic
2007-01-29
打赏
举报
回复
思路是用上传组件,上传图片,传的时候将图片的名字或保存的路径写到sqlserver的一个pic字段里(类型为varchar),前面显示时用<img src=rs("pic")>显示即可,注意路径。。
chuting1
2007-01-29
打赏
举报
回复
本人用的是ASP,不是ASP.NET
chuting1
2007-01-29
打赏
举报
回复
楼上的,有点看不懂
chenguang79
2007-01-29
打赏
举报
回复
在SQL中存储图片一般采用二进制方法。这种方法不太容易检查数据是否正常。而且存储起来比较麻烦,楼主为什么不用常用的方法,只把图片的地址存入数据库,而把图片放到一个文件夹里呢。这样容易检查数据库的正确性,而且操作也比较方便
mh_rock
2007-01-29
打赏
举报
回复
在SQL Server中保存和输出图片
介绍
有时候我们需要保存一些binary data进数据库。SQL Server提供一个叫做image的特殊数据类型供我们保存binary data。Binary data可以是图片、文档等。在这篇文章中我们将看到如何在SQL Server中保存和输出图片。
建表
为了试验这个例子你需要一个含有数据的table(你可以在现在的库中创建它,也可以创建一个新的数据库),下面是它的结构:
Column Name
Datatype
Purpose
ID
Integer
identity column Primary key
IMGTITLE
Varchar(50)
Stores some user friendly title to identity the image
IMGTYPE
Varchar(50)
Stores image content type. This will be same as recognized content types of ASP.NET
IMGDATA
Image
Stores actual image or binary data.
保存images进SQL Server数据库
为了保存图片到table你首先得从客户端上传它们到你的web服务器。你可以创建一个web form,用TextBox得到图片的标题,用HTML File Server Control得到图片文件。确信你设定了Form的encType属性为multipart/form-data。
Stream imgdatastream = File1.PostedFile.InputStream;
int imgdatalen = File1.PostedFile.ContentLength;
string imgtype = File1.PostedFile.ContentType;
string imgtitle = TextBox1.Text;
byte[] imgdata = new byte[imgdatalen];
int n = imgdatastream.Read(imgdata,0,imgdatalen);
string connstr=
((NameValueCollection)Context.GetConfig
("appSettings"))["connstr"];
SqlConnection connection = new SqlConnection(connstr);
SqlCommand command = new SqlCommand
("INSERT INTO ImageStore(imgtitle,imgtype,imgdata)
VALUES ( @imgtitle, @imgtype,@imgdata )", connection );
SqlParameter paramTitle = new SqlParameter
("@imgtitle", SqlDbType.VarChar,50 );
paramTitle.Value = imgtitle;
command.Parameters.Add( paramTitle);
SqlParameter paramData = new SqlParameter
( "@imgdata", SqlDbType.Image );
paramData.Value = imgdata;
command.Parameters.Add( paramData );
SqlParameter paramType = new SqlParameter
( "@imgtype", SqlDbType.VarChar,50 );
paramType.Value = imgtype;
command.Parameters.Add( paramType );
connection.Open();
int numRowsAffected = command.ExecuteNonQuery();
connection.Close();
从数据库中输出图片
现在让我们从数据库中取出我们刚刚保存的图片,在这儿,我们将直接将图片输出至浏览器。你也可以将它保存为一个文件或做任何你想做的。
private void Page_Load(object sender, System.EventArgs e)
{
string imgid =Request.QueryString["imgid"];
string connstr=((NameValueCollection)
Context.GetConfig("appSettings"))["connstr"];
string sql="SELECT imgdata, imgtype FROM ImageStore WHERE id = "
+ imgid;
SqlConnection connection = new SqlConnection(connstr);
SqlCommand command = new SqlCommand(sql, connection);
connection.Open();
SqlDataReader dr = command.ExecuteReader();
if(dr.Read())
{
Response.ContentType = dr["imgtype"].ToString();
Response.BinaryWrite( (byte[]) dr["imgdata"] );
}
connection.Close();
}
在上面的代码中我们使用了一个已经打开的数据库,通过datareader选择images。接着用Response.BinaryWrite代替Response.Write来显示image文件。
chuting1
2007-01-29
打赏
举报
回复
多谢各位
已经解决
<!-- #include file = "path.asp"-->
<%
set con=conn
set rec=server.createobject("ADODB.recordset")
'response.write request("id")
strsql="select tp from dimg where id="&request("id")&""
rec.open strsql,con,1,1
Response.ContentType = "image/*"
picsize=rec("tp").ActualSize
Response.BinaryWrite rec("tp").getChunk(picsize)
rec.close
set rec=nothing
response.end
%>
kele1006
2007-01-29
打赏
举报
回复
建议你直接用上传组件来做
自己写有点麻烦=.=
chuting1
2007-01-29
打赏
举报
回复
TO cloudgamer(欢迎交流qq215754452) (
又是如何显示存储的图片呢
cloudgamer
2007-01-28
打赏
举报
回复
<!--#include virtual="/_inc/conn.inc"-->
<%
'取得客户端送出的数据字节大小
frmsize=Request.TotalBytes
'以二进制方式读取数据
frmData=Request.BinaryRead(frmsize)
'去掉实际数据前、后的边界字符串行
bnCrLf=ChrB(13)&ChrB(10)
divider=leftB(frmdata,CLng(InstrB(frmdata,bnCrLf))-1)
dataStart=InstrB(frmData,bnCrLf&bncrlf)+4
dataEnd=InstrB(datastart+1,frmData,divider)-dataStart
'读出图象数据
myData=Midb(frmdata,dataStart,dataEnd)
'将图象数据存入数据库
strSQL="SELECT * FROM tblImages"
set rs=Server.CreateObject("ADODB.Recordset")
rs.open strSQL,conn,1,3
rs.addnew
rs("picData").AppendChunk myData
rs.Update
counts=rs.recordCount+1
rs.close
conn.close
%>
sib2000
2007-01-28
打赏
举报
回复
很少人直接把图片存在数据库里的,数据库里的images只是个中继,最后会读出后写入到服务器生成文件。再在产品表里将图片的名字写入。直接使用url形式显示图片,非直接从数据库读取。
jxf654
2007-01-28
打赏
举报
回复
up
websterjt
2007-01-28
打赏
举报
回复
用上传组件,上传图片,然后取得图片路径存入image字段中!以后再前台调用的时候读取就可以了!
3天掌握
SQL
Server
2012 数据库
Microsoft
SQL
Server
数据库引擎为关系型数据和结构化数据提供了更安全可靠的
存储
功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序 。 黄强老师针比较稳定且较新的
SQL
SERVER
2012版本演示...
sql
server
存储
图片
一般情况下,将
图片
保存在服务器的某个目录下,在数据库
中
存储
此
图片
的地址,这样做的好处很明显 可以节省数据库的
存储
空间当数据库崩溃后,
图片
资源不会丢失向数据库
中
插入
图片
时,需要先将
图片
压缩成二进制表示形式,而从数据库
中
查询
图片
时,则需要将二进制流转换为
图片
,这在频繁查询时会影响程序的性能.... 下面从纯技术的角度解释如何将
图片
插入数据库
中
。 首先在
sql
server
中
新建一个表Im
如何在
SQL
SERVER
中
存储
图片
今天我同学 在群里问 怎么在
SQL
SERVER
中
存储
图片
我在博客园
中
找了找相关的 信息 自己也实践了下 过程如下 首先 要创建 一个表 和一个
存储
过程 create table test { ids identity(1,1), image images}create proc UpdateImage ( @UpdateImage image ) AS...
在
sql
server
中
实现
图片
的存入和读取
首先提醒一下,无论是将
图片
存入数据库,还是从数据库
中
读取,都是采用流的形式进行,虽然,在数据库
中
,
存储
图片
的类型是Image,但是
sql
中
的Image和C#
中
的Image不一样,就如同
sql
中
的null的判断在C#
中
得用DBNULL来判断 先看窗体设计,很简单,一共就五个控件,名字都没改,pictureBox1,textBox1,button1,button2,button3(依次从上到下,从左到右),看源码的时候会看到的 数据库
中
表的设计 就一个Image 首先程序运行,可以先选择一张
图片
文本框
中
c#向
SQL
Server
中
存储
图片
并且再从数据库
中
读取
图片
前言 步骤 一在
SQL
Server
中
已有数据库
中
创建一个表用来
存储
图片
二打开VS创建一个WinForm应用程序向Form1
中
添加一个PictureBox控件再添加两个Button控件将Button1的Text属性分别设为保存
图片
显示
图片
三在Form1的代码之
中
首先引入命名空间 四编写保存
图片
按钮的单击事件用于保存
图片
五编写
显示
图片
的单击事件将
图片
从数据库
中
读取出来
显示
在...
ASP
28,391
社区成员
357,059
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章