主题:[原创]把jpg图片上传到数据库里[access]
参考了不少资料,前段时间自己的系统可以实现上传图片功能了,因为自己在找资料,编写代码的时候走了不少弯路,不希望大家再这样重复找东西了,把自己成功上传的代码贴出来,以勉共享精神,也希望大家帮助我,相互学习.
----------------------------------------------------
upload.asp
<html>
<head>
<title>运维日晚报作业系统</title>
</head>
<body>
<%session("problem_id18")=request("problem_id18")%> '我的系统要求给每条记录增加上传图片功能,这是我自定义的记录唯一id,上个页面传过来的.
<form enctype="multipart/form-data" action="trans.asp" method=post>
上传图片:(限jpg格式)<input type=file name=mefile>
<input type=submit name=ok value="上传">
</form>
</body>
</html>
----------------------------------------------------
trans.asp
...连接数据库代码略
<% dim formsize,formdata,bncrlf,divider,datastart,dataend,mydata
'定义上传图片大小,起始位置等变量
formsize=request.totalbytes '得到form用post方法传过来的总字节数
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 zhonghebiao where id=" & session("problem_id18")
rs.Open sql,conn,3,2
rs("big").appendchunk mydata '通过appendchunk方法传送数据到数据库
rs.update
set rs=nothing
set conn=nothing
%>
<img src="images/face.gif">Ok,上传成功!
</body>
</html>
这样国片就上传成功了,其实不仅出其不限于jpg格式,gif,bmp等都可以通过这个方法上传的,只是我做的显示程序没怎么再用心,只做了显示jpg格式的代码,所以才限于传jpg,大家可以自己改代码达到显示多种格式图片目的的.
----------------------------------------------------
disp.asp
<%
response.expires=0 '怕图形太大,把响应时间设为无限
response.buffer=true '开起缓冲
response.clear
Response.ContentType="image/pjpeg" '这个格式可以自己改,我用的是jpg
rs.open sql,conn,1,1
Response.BinaryWrite rs("big") '以二进制方式把图形从数据库里读出来
rs.close
set rs=nothing
set conn=nothing
%>
呵呵,完成了,你应该也有自己的上传图片程序了,改进后,肯定比我的厉害多了.
代码虽然很少,但真的费了我不少精力,至少又是半天才调试成功,是不是我太笨了,哈哈.
共享代码,相互提高.^^
----------------------------------------------------
upload.asp
<html>
<head>
<title>运维日晚报作业系统</title>
</head>
<body>
<%session("problem_id18")=request("problem_id18")%> '我的系统要求给每条记录增加上传图片功能,这是我自定义的记录唯一id,上个页面传过来的.
<form enctype="multipart/form-data" action="trans.asp" method=post>
上传图片:(限jpg格式)<input type=file name=mefile>
<input type=submit name=ok value="上传">
</form>
</body>
</html>
----------------------------------------------------
trans.asp
...连接数据库代码略
<% dim formsize,formdata,bncrlf,divider,datastart,dataend,mydata
'定义上传图片大小,起始位置等变量
formsize=request.totalbytes '得到form用post方法传过来的总字节数
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 zhonghebiao where id=" & session("problem_id18")
rs.Open sql,conn,3,2
rs("big").appendchunk mydata '通过appendchunk方法传送数据到数据库
rs.update
set rs=nothing
set conn=nothing
%>
<img src="images/face.gif">Ok,上传成功!
</body>
</html>
这样国片就上传成功了,其实不仅出其不限于jpg格式,gif,bmp等都可以通过这个方法上传的,只是我做的显示程序没怎么再用心,只做了显示jpg格式的代码,所以才限于传jpg,大家可以自己改代码达到显示多种格式图片目的的.
----------------------------------------------------
disp.asp
<%
response.expires=0 '怕图形太大,把响应时间设为无限
response.buffer=true '开起缓冲
response.clear
Response.ContentType="image/pjpeg" '这个格式可以自己改,我用的是jpg
rs.open sql,conn,1,1
Response.BinaryWrite rs("big") '以二进制方式把图形从数据库里读出来
rs.close
set rs=nothing
set conn=nothing
%>
呵呵,完成了,你应该也有自己的上传图片程序了,改进后,肯定比我的厉害多了.
代码虽然很少,但真的费了我不少精力,至少又是半天才调试成功,是不是我太笨了,哈哈.
共享代码,相互提高.^^