marjoy 2008-1-30 22:23
用纯ASP代码实现图片上传并存入数据库中如何写呀?
以下是网上找的,可实现不了,不知它错在哪?谁有现成的发来呀.
<%
response.buffer=true
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)
set conn=server.CreateObject("adodb.connection")
dsn="driver={microsoft access driver (*.mdb)};"
dsn=dsn&"dbq="&server.MapPath("ubload.mdb")
conn.open dsn
set rs=server.createobject("ADODB.recordset")
sql="SELECT * FROM imagegook"
rs.open sql,conn,1,3
rs.addnew
rs("img").appendchunk mydata
rs.update
rs.close
set rs=nothing
set conn=nothing
%>
707609131 2008-1-31 10:44
汗。等下,我看看先
707609131 2008-1-31 10:49
搞不定。这个。知识太少~~!抱歉
495208501 2008-2-1 06:40
改好了?
<%
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)
db_path="ubload.mdb"
set conn=server.CreateObject("ADODB.connection")
connstr="driver={Microsoft Access Driver (*.mdb)};dbq="&server.MapPath(db_path)
conn.open connstr
set rs=server.createobject("ADODB.recordset")
rs.open "SELECT * FROM imagegook",conn,3,3
rs.addnew
rs("img").AppendChunk myData
rs.update
rs.close
set rs=nothing
set conn=nothing
%>
不过最好用我这个方法连接数据库
新建一个conn.asp
<%
db_path="ubload.mdb"
set conn=server.CreateObject("ADODB.connection")
connstr="driver={Microsoft Access Driver (*.mdb)};dbq="&server.MapPath(db_path)
conn.open connstr
%>
================
<!--#include file="conn.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)
set rs=server.createobject("ADODB.recordset")
rs.open "SELECT * FROM imagegook",conn,3,3
rs.addnew
rs("img").AppendChunk myData
rs.update
rs.close
set rs=nothing
set conn=nothing
%>
marjoy 2008-2-1 20:40
非常感谢楼上的兄弟,但是现在问题又来了,在网页中显示图片的时候,还是没能成功,代码如下,又错在哪了?
<!--#include file="conn.asp"-->
</head>
<body>
<%
set rec=server.createobject("ADODB.recordset")
strsql="select * from imagegook where id="&trim(request("id"))
rec.open strsql,conn,1,1
Response.ContentType = "image/*"
Response.BinaryWrite rec("img").getChunk(7500000)
%>
<img src=index.asp?id=<%=rec("id")%>>
495208501 2008-2-1 23:44
以上要分两个文件(index.asp)
<!--#include file="conn.asp"-->
<%
set rec=server.createobject("ADODB.recordset")
strsql="select * from imagegook where id="&trim(request("id"))
rec.open strsql,conn,1,1
Response.ContentType = "image/*"
Response.BinaryWrite rec("img").getChunk(7500000)
rs.close
set rs=nothing
set conn=nothing
%>
第二个文件显示页面
=====================
<!--#include file="conn.asp"-->
<%
strsql="select * from imagegook"
set rs=server.createobject("ADODB.recordset")
rs.open strsql,conn,1,1
do until rs.eof
%>
<img src="index.asp?id=<%=rs("id")%>"><br>
<%
rs.movenext
loop
rs.close
conn.close
%>
okazaki 2008-2-2 03:30
动易等CMS不是都自带自动存储功能么?……
:L 我ASP不行 一向走简单的路线
marjoy 2008-2-2 17:06
兄弟问题还是没能解决,按照你的意思分为两个文件
一个文件(show.asp)如下:
<%
set rec=server.createobject("ADODB.recordset")
strsql="select * from imagegook"
rec.open strsql,conn,1,1
Response.ContentType="image/*"
Response.BinaryWrite rec("img").getChunk(7500000)
%>
第二个文件(index.asp)如下:
<title>无组件上传图片</title>
<!--#include file="conn.asp"-->
<!--#include file="show.asp"-->
</head>
<body>
<%
set rs=server.createobject("ADODB.recordset")
strsql="select * from imagegook"
rs.open strsql,conn,1,1
do until rs.eof
%>
<img src="index.asp?id=<%=rs("id")%>"><br>
<%
rs.movenext
loop
rs.close
conn.close
%>
</body>
</html>
测试(index.asp)结果得到一堆乱字,没有显示图片,你分为两个文件又加了一个循环,我想,如果保存图片到数据库对了的话,那可能是显示图片的路径不对(<img src="index.asp?id=<%=rs("id")%>">)
495208501 2008-2-2 23:34
这个另存kdc.asp
<!--#include file="conn.asp"-->
<%
set rec=server.createobject("ADODB.recordset")
strsql="select * from imagegook where id="&trim(request("id"))
rec.open strsql,conn,1,1
Response.ContentType = "image/*"
Response.BinaryWrite rec("img").getChunk(7500000)
rs.close
set rs=nothing
set conn=nothing
%>
===============================================
第二个文件主要首页(另存为)index.asp
<!--#include file="conn.asp"-->
<%
strsql="select * from imagegook"
set rs=server.createobject("ADODB.recordset")
rs.open strsql,conn,1,1
do until rs.eof
%>
<img src="kdc.asp?id=<%=rs("id")%>"><br>
<%
rs.movenext
loop
rs.close
conn.close
%>
[[i] 本帖最后由 495208501 于 2008-2-2 23:36 编辑 [/i]]
marjoy 2008-2-3 11:44
兄弟,你测试过代码了没,我测还是不得,图片显示X
marjoy 2008-2-3 11:52
第二个文件主要首页(另存为)index.asp
这个文件好没调用到kdc.asp文件
你测试成功了吗?
495208501 2008-2-3 23:03
你把整体发上来!
zg125 2008-2-4 00:04
*** 作者被禁止或删除 内容自动屏蔽 ***
495208501 2008-2-4 00:07
还是帮你做出来算了!:L
[attach]88406[/attach]
zg125 2008-2-4 00:14
*** 作者被禁止或删除 内容自动屏蔽 ***
707609131 2008-2-6 13:46
新年快乐
okazaki 2008-2-7 03:08
:L 还在奋斗么 辛苦了
marjoy 2008-2-7 12:43
非常感谢495208501兄弟,有机会请你喝酒.
页:
[1]