注册 登录
编程论坛 ASP技术论坛

在报名系统中加入上传照片功能,该如何实现?

dujingjing723 发布于 2008-07-21 11:56, 3211 次点击
我想让报名人可以把自己的照片上传到我们的数据库表中,并将照片显示在网页上,该如何实现?????
15 回复
#2
multiple19022008-07-21 12:20
找个上传文件处理的代码。推荐5xsoft(Class upload_5xsoft)。

具体实现,在页面上加一个file格式的input,form的编码格式要改。(Discuz!类实现)
接收时使用类里面的对象来获取原来Request对象获取的信息。
照片一般保存到文件,在数据库里记录文件路径。

动网类实现:
在页面上加一个框架,框架内页面专门提供上传图片,上传后将图片路径返回到父框架的存文件路径的input中,随父框架一起提交.
#3
dujingjing7232008-07-21 12:38

我试试
谢谢你
#4
multiple19022008-07-21 12:52
这2类实现都有广泛的应用。

Discuz!类实现方便客户端操作,不需要提交2次

动网类实现方便编程,可以把上传文件和普通的填表分开编写程序。
#5
lele20072008-07-21 13:11
不明白 来看看的!学习下
#6
dujingjing7232008-07-21 15:29
我用代码实现了上传照片到数据库,
可是却在报名栏中的图片中显示中始终显示第一个人的照片,
又是不能对号显示,我想用ID方法可是不知道怎么获取ID,
页面代码:
upload.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<form action="save.asp" method="post" enctype="multipart/form-data">
  <input type="file" name="imgurl">
  <input type="submit" name=ok value="提交">
</form>
</body>
</html>

save.asp页面
<!--#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 imgurl",conn,3,3
rs.addnew
rs("img").AppendChunk myData
rs.update
rs.close
set rs=nothing
set conn=nothing
response.redirect "Order.asp"
%>

showimg.asp页面
<!--#include file="conn.asp"-->
<%
set rs=server.createobject("ADODB.recordset")
sql="select * from imgurl where id="&trim(request("id"))
rs.open sql,conn,1,1
Response.ContentType="image/*"
Response.BinaryWrite rs("img").getChunk(8000000)
rs.close
set rs=nothing
set conn=nothing
%>

其它的文件还有个报名页面order.asp
不知道怎么让用户上传照片后,能立即在单元格中看到自己的照片,然后全部报名资料写好提交后,图片消失,只有数据库有,
我用的是二进制转换方法存储图片信息的!
该怎么办??
#7
hmhz2008-07-21 16:41
为什么要把图片传到数据库中去呢?不推荐传到数据库
#8
dujingjing7232008-07-21 16:50
传到文件中比如upfile,那样我不明白怎么将图片对号显示啊?
#9
dujingjing7232008-07-21 16:53
不过这种方法我好像见过,我去试试看行不
#10
tianyu1232008-07-21 17:30
[bo][un]dujingjing723[/un] 在 2008-7-21 16:50 的发言:[/bo]

传到文件中比如upfile,那样我不明白怎么将图片对号显示啊?


文件夹里保存图片,而数据库里保存图片相对应的名字。

如:123.gif 而数据库里就保存 123.gif 这个字符串即可 (但这里要注意的是对上传图片同名的处理,一般来说,都是上传后重命名)
#11
dujingjing7232008-07-22 08:52
恩,听你这么一说,我也发现了这个问题,具体我还在实现中,比较麻烦啊!
总是遇到下一个问题,不知道我是不是能做出来
在这里先谢谢你
#12
dujingjing7232008-07-22 15:31
朋友们,我又遇到问题了,我将图片信息写入数据库,并能对号显示,可是报名页面的表单打开时默认的总是显示如下我写的代码的图片,提交后也是,我不知道该如和改才能和其它报名系统一样,第一次打开表单页图片栏无图片,提交后将单元格中的图片的清空呢,和其它选项一项置空!
该怎么实现啊?????
谢谢,下面是报名页面图片显示的单元格及数据库代码
<%
strsql="select   *   from   Orderform  where   id=(select   max(id)   from  Orderform)"
set rs=server.createobject("ADODB.recordset")
rs.open strsql,conn,1,1

%>
                      <td width="200" rowspan="3" class="xulineorder"><img src="showimg.asp?id=<%=rs("id")%>"><br> </td>
                      <%

rs.close
conn.close
%>
#13
multiple19022008-07-22 16:00
判断嘛……
#14
dujingjing7232008-07-22 16:18
可以提醒判断哪些对象的哪些事件吗?
谢谢你,每次都是你踩我的问题
#15
multiple19022008-07-22 16:41
该判断什么就判断什么……你想办法加个标志。
#16
dujingjing7232008-07-22 16:54
好,
我试试!
1