–
ASP将图片上传到数据库的代码
<%
formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13)&chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf&bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)
sql=”select * from pic”
getdata(sql)
rs.addnew
rs(“img”).AppendChunk myData
rs.update
rsclose()
response.clear
response.write “success!”
end if
%> <%
‘这是一段将图片上传到数据库的代码
formsize=request.totalbytes
‘获取请求中包括的总字节数
formdata=request.binaryread(formsize)
‘保存从客户端读取到的二进制数据
bncrlf=chrB(13)&chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
‘分隔标志串
‘数据长度,减1是因为数据文件的存取字节数问题(可能是AppendChunk方法的问题):
‘由于字节数为奇数的图象存到数据库时会去掉最后一个字符导致图象不能正确显示,
‘字节数为偶数的数据文件就不会出现这个问题,因此必须保持字节数为偶数。
datastart=instrb(formdata,bncrlf&bncrlf)+4
‘分隔标志串长度
dataend=instrb(datastart+1,formdata,divider)-datastart
‘减去分隔标志串长度
mydata=midb(formdata,datastart,dataend)
‘获取最终数据
sql=”select * from pic”
getdata(sql)
‘getdata为自定义函数,连接、打开数据库、并运行sql语句
rs.addnew
‘添加新的数据
rs(“img”).AppendChunk myData
‘使用AppendChunk方法添加数据
rs.update
‘更新数据库
rs.close()
‘关闭数据库
response.clear
‘清除缓冲区中的所有 HTML 输出
response.write “success!”
‘显示成功信息
end if
‘最前面应该有if…then语句
%>