首 页 | 网页模板 | 教程 | 源码下载 | 书籍下载 | 图片素材 | 字体 | JAVA特效 | FLASH源码 | 软件 | 矢量 | 论坛 | 其它 |
设为主页
加入收藏
联系站长
平面设计 | 网页制作 | 程序编写 | 数 据 库 | 媒体动画 | 网络冲浪 | 服务器相关 |
当前在线
广告:P4服务器电信机房6999/年即送产权 | 疾风下载
向SQLServer数据库读写image文件
2005-11-17 10:31:25  作者:模板天下收集整理  来源:未知 网友评论 0 条 论坛
  用asp向SQLServer数据库读写image文件

一、发送image文件的表单

img_upload.asp


<form name="form1" ENCTYPE="multipart/form-data" ACTION="img_upfile.asp" METHOD="POST">
<input NAME="picture" TYPE="FILE">
</form>



二、接受表单发过来的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文件并显示在网页上
用以下代码将数据显示在网页上,请注意,标签的src指示为showimg.asp文件。即标签指向的不一定是.gif
<img src="showimg.asp?id=<%=rs_img("id")%>">

核心的部分在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将其输出到浏览器上。
共分1页  [1] 
>> 相关文章

关于网站 | 客服中心 | 服务条款 | 友情链接 | 广告联系 | 本站历程 | 网站导航

吉ICP备05000107号