繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> 数据库相关 >> 向SQLServer数据库读写image文件

向SQLServer数据库读写image文件

2006-06-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:  用asp向SQLServer数据库读写image文件 一、发送image文件的表单 img_upload.asp 二、接受表单发过来的image文件 在img_upfile.asp文件中 response.buffer=true formsize=request.totalbytes formdata=req...

  用asp向SQLServer数据库读写image文件

一、发送image文件的表单

img_upload.asp

二、接受表单发过来的image文件

在img_upfile.asp文件中

response.buffer=true

formsize=request.totalbytes

formdata=request.binaryread(formsize)

Function ImageUp(formsize,formdata)

bncrlf=chrb(13) & chrb(10)

divider=leftb(formdata,instrb(formdata,bncrlf)-1)

datastart=instrb(formdata,bncrlf&bncrlf)+4

dataend=instrb(datastart+1,formdata,divider)-datastart

Imageup=midb(formdata,datastart,dataend)

End Function

mydata = ImageUp(FormSize,Formdata)

通过以上代码后,image文件已经存在于变量mydata中

三、将image数据加入数据库中

Set rs_img = Server.CreateObject("ADODB.Recordset")

sql_img = "SELECT * FROM tbl_images where id='"&newid&"'"

rs_img.Open sql_img,conn,1,3,1

If rs_img.eof Then

strinsert = 1

Else

strinsert = 0

End If

If strinsert = 1 Then

rs_img.addnew

rs_img("id") = newid

rs_img("class_id") = class_id

rs_img("img_data").appendchunk mydata

rs_img.update

Else

rs_img("class_id") = class_id

rs_img("img_data").appendchunk mydata

rs_img.update

End If

rs_img.close

set rs_img=nothing

set conn=nothing

以上代码先判断数据库中id记录为newid的字段内有没有数据,如果有则用当前数据更新数据库,若没有则将数据插入。

请注意:newid在别的地方定义,读者不必理会

四、读取数据库中的image文件并显示在网页上

用以下代码将数据显示在网页上,请注意,">

核心的部分在showimg.asp文件中:

Response.Expires = 0

Response.Buffer = TRUE

Response.Clear

Dim id

id = trim(Request("id"))

Response.ContentType = "image/*">set rs_img=Server.Createobject("ADODB.Recordset")

sql="select * from tbl_images where id='"&id&"'"

rs_img.open sql,conn,1,3,1

Dim img_size

img_size = rs_img("img_data").ActualSize

Response.BinaryWrite rs_img("img_data").getChunk(img_size)

rs_img.close

set rs_img=nothing

set conn=nothing

取出数据后,用Response.BinaryWrite和getChunk将其输出到浏览器上。

责任编辑:admin
相关文章