ASP中怎样多张图片和信息一次上传

xieliping 2006-10-22 06:04:21
我现在有一个信息提交的页面,要上传四张图片,以及一些相关信息,要在点提交后讲图片上传到指定的文件夹里,图片生成的路径和相关信息,保存到数据库中,劳驾各位大侠,给我点源代码.
...全文
883 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvwei 2006-11-02
  • 打赏
  • 举报
回复
这个代码已经可以显示单个产品的多张图片了
还有一个在页面显示产品列表的时候,也同时显示每种产品的所有图片,可以滚动察看,不过代码要麻烦一点,因为他要为每个产品生成不同的JS
xieliping 2006-11-02
  • 打赏
  • 举报
回复
to:lvwei(我在社区的昵称)
我用了一下你的代码,要把图片从前台显示出来,那要怎么做呢.
lvwei 2006-10-30
  • 打赏
  • 举报
回复
用的组件是风声无组件上传类V2.0
lvwei 2006-10-30
  • 打赏
  • 举报
回复
后台处理

<!--#include FILE="UpLoadClass.asp"-->
<!--#include file="../include/conn.asp"-->
<!--#include file="../include/funcs.asp"-->


<%'checkLogin()%>

<%
set request2=new UpLoadClass
request2.FileType="gif/jpg/rar/zip"
request2.SavePath="UpLoadFile/"
request2.open()
if request2.form("action")="add" then
usercode=sqlesc(session("usercode"))
productName=sqlesc(request2.form("name"))
bigCategory=sqlesc(request2.form("bigCategory"))
smallCategory=sqlesc(request2.form("smallCategory"))
addtime=sqlesc(request2.form("addtime"))
info=sqlesc(request2.form("info"))
If Not IsDate(addtime) Then response.write "添加时间格式不正确":response.End
If usercode="" then response.redirect "../logout.asp"
If productName="" then response.write "请填写产品名称":response.End
If bigCategory="" then response.write "请选择产品大类":response.End
if info="" then response.write "请填写产品介绍":response.End
sql="insert into products (iMUID,cUserCode,cProductBigCategory,cProductSmallCategory,cProductName, cProductInfo, dAddTime) values"
sql=sql&"(0,'"&usercode&"','"&bigCategory&"','"&smallCategory&"','"&productName&"','"&info&"','"&addtime&"')"
echo sql
'response.End
conn.execute sql
for intTemp=1 to Ubound(request2.FileItem)

'获取表单文件控件名称,注意FileItem下标从1开始
formName=request2.FileItem(intTemp)

'显示文件域
response.write "<br>"&intTemp&"、文件域["&formName&"]:"

'显示源文件路径与文件名
response.write "<br>"&request2.form(formName&"_Path")&request2.form(formName&"_Name")

'显示文件大小(字节数)
response.write "("&request2.form(formName&"_Size")&") => "

'显示目标文件路径与文件名
response.Write formPath&request2.form(formName)&" "

'显示文件保存状态
select case request2.form(formName&"_Err")
case -1:
response.write "没有文件上传<br>"
case 0:
response.write "上传文件成功<br>"
intCount=intCount+1
case 1:
response.write "文件太大,拒绝上传<br>"
case 2:
response.write "文件格式不对,拒绝上传<br>"
case 3:
response.write "文件太大且格式不对,拒绝上传<br>"
end select
if request2.form(formName)<>"" then
sql="insert into productImg (curl, dAddTime) values"
sql=sql&" ('"&request2.SavePath&request2.form(formName)&"','"&addtime&"')"
echo sql
'response.End
conn.execute sql
end if
next
'----列出所有上传了的文件结束----

response.write "<br>"&intCount&" 个文件上传成功! "
response.write "[<a href=""javascript:history.back();"">返回</a>]"
set request2=nothing
Response.Write("<script>alert('添加成功');location.href=""product.asp"";</script>")

elseif request2.form("action")="modify" then
usercode=sqlesc(session("usercode"))
productName=sqlesc(request2.form("name"))
bigCategory=sqlesc(request2.form("bigCategory"))
smallCategory=sqlesc(request2.form("smallCategory"))
addtime=sqlesc(request2.form("addtime"))
info=sqlesc(request2.form("info"))
pid=sqlesc(request2.form("pid"))

If Not IsDate(addtime) Then response.write "添加时间格式不正确":response.End
If productName="" then response.write "请填写产品名称":response.End
If bigCategory="" then response.write "请选择产品大类":response.End
if info="" then response.write "请填写产品介绍":response.End


sql="update products set "
sql=sql&" cProductName='"&productName&"',"
sql=sql&" cProductBigCategory='"&bigCategory&"',"
sql=sql&" cProductSmallCategory='"&smallCategory&"',"
sql=sql&" cProductInfo='"&info&"',"
sql=sql&" dAddTime='"&addtime&"'"
sql=sql&" where iPID='"&pid&"'"

echo sql
'response.End
conn.execute sql
for intTemp=1 to Ubound(request2.FileItem)

'获取表单文件控件名称,注意FileItem下标从1开始
formName=request2.FileItem(intTemp)

'显示文件域
'response.write "<br>"&intTemp&"、文件域["&formName&"]:"

'显示源文件路径与文件名
'response.write "<br>"&request2.form(formName&"_Path")&request2.form(formName&"_Name")

'显示文件大小(字节数)
'response.write "("&request2.form(formName&"_Size")&") => "

'显示目标文件路径与文件名
'response.Write formPath&request2.form(formName)&" "

'显示文件保存状态
'select case request2.form(formName&"_Err")
'case -1:
'response.write "没有文件上传<br>"
'case 0:
'response.write "上传文件成功<br>"
'intCount=intCount+1
'case 1:
'response.write "文件太大,拒绝上传<br>"
'case 2:
'response.write "文件格式不对,拒绝上传<br>"
'case 3:
'response.write "文件太大且格式不对,拒绝上传<br>"
'end select
if request2.form(formName)<>"" then
sql="insert into productImg (curl, dAddTime) values"
sql=sql&" ('"&request2.SavePath&request2.form(formName)&"','"&addtime&"')"
echo sql
'response.End
conn.execute sql
end if
next
'----列出所有上传了的文件结束----

response.write "<br>"&intCount&" 个文件上传成功! "
response.write "[<a href=""javascript:history.back();"">返回</a>]"
set request2=nothing
Response.Write("<script>alert('添加成功');location.href=""product.asp"";</script>")

set request2=nothing
Response.Write("<script>alert('修改成功');location.href=""product.asp"";</script>")



elseif request.QueryString("action")="delete" then

'from=Request.ServerVariables("http_referer")
'response.end

'if isempty(from) then
' response.redirect "../login.asp"
'end If

'position=InStrRev(from, "/")+1
'url=mid(from,position)

'from=request.ServerVariables("HTTP_REFERER")

pid=sqlesc(Request.QueryString("id"))
if pid<>"" then
sql="delete from productImg where daddTime in (SELECT dAddTime FROM Products WHERE (iPID = "&pid&"))"
echo sql
conn.execute sql
sql="delete from products where iPID in ("&pid&")"
echo sql
conn.execute sql
Response.Write("<script>alert('删除成功');location.href=""product.asp"";</script>")
conn.execute sql
end if
picid=sqlesc(request.QueryString("picid"))
if picid<>"" then
sql="delete from productImg where iimgId in ("&picid&")"
echo sql
conn.execute sql
Response.Write("<script>alert('删除成功');location.href=""product.asp?action=modify&id="&request("did")&"""</script>")
'response.redirect "product.asp?action=modify&id="&request("did")&""
end if

end if
%>
lvwei 2006-10-30
  • 打赏
  • 举报
回复
我的表单页面例子




<table width=800 border="0" align=center cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr bgcolor="#e5eef5">
<td colspan="8"><div align="center" style="FONT-WEIGHT: bold;COLOR: #369;">产品列表</div></td>
</tr>
<tr bgcolor="f0f0f0">
<td width="30">序号</td>
<td width="110">产品大类</td>
<td width="116">产品小类</td>
<td width="227">产品名称</td>
<td width="227">发布时间</td>
<td width="47">操作</td>
</tr>
<%
ii=(page-1)*sizeperpage+1
For i = 1 to rs.PageSize
if rs.EOF then
Exit For
end if '利用for next 循环依次读出记录
%>
<tr bgcolor="f0f0f0">
<td><%=ii%></td>
<td><%=rs("cProductBigCategory")%></td>
<td><%if rs("cProductSmallCategory")="" then
echo "无小类"
else
echo rs("cProductSmallCategory")
end if
%></td>
<td><%=rs("cProductName")%></td>
<td><%=rs("dAddTime")%></td>
<td><a title="修改" href="product.asp?action=modify&id=<%=rs("iPID")%>
<%if not isempty(request("page")) then response.write "&page="&request("page")%>">
<img src="images/edit.gif" width="18" height="13" border="0"></a>
<a title="删除" href="#" onClick="checkdelete(<%=rs("iPID")%>)">
<img src="images/delete2.gif" width="18" height="13" border="0"></a></td>
</tr>
<%
rs.movenext
ii=ii+1
next %>
<tr bgcolor="#e5eef5">
<td height="20" colspan="8">
<%call fenye("product.asp",urlstr)%></td>
</tr>
</table>
<%end if 'rs.eof and rs.bof%>

<%
if request("action")="modify" then
set rs = server.createobject("adodb.recordset")
sql="select * from Products where cUserCode='"&session("usercode")&"' and iPID="&request("id")
'response.write sql
rs.open sql,conn,1,1
if rs.bof and rs.eof then
response.write "没有记录!"
response.end
end if
end if
%>

<form enctype="multipart/form-data" name="addgdzs" method="post"action="takeupdateproduct.asp">
<table width="800" border="0" align=center cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr bgcolor="#e5eef5">
<td colspan="3"><div align="center" style="FONT-WEIGHT: bold;COLOR: #369;"><%if request("action")="modify" then%>
修改产品信息 <a href="product.asp" class="soft_sort">返回添加新信息</a>
<%else%>添加产品信息<%end if%></div></td>
</tr>
<tr bgcolor="f0f0f0">
<td width="139"><div align="right">产品名称</div></td>
<td colspan="2"><input size="40" name="name" type="text" id="name" value="<%if request("action")="modify" then response.write rs("cProductName") end if%>"></td>
</tr>
<tr bgcolor="f0f0f0">
<td width="139"><div align="right">产品大类</div></td>
<td colspan="2"><select name="bigCategory"><%if request("action")="modify" then response.write createProductBigCategory(rs("cProductBigCategory")) Else createProductBigCategory("") end if%>"></select></td>
</tr>
<tr bgcolor="f0f0f0">
<td width="139"><div align="right">产品小类</div></td>
<td colspan="2"><select name="smallCategory">
<%if request("action")="modify" then response.write createProductSmallCategory(rs("cProductSmallCategory")) Else createProductSmallCategory("") end if%>
">
</select> </td>
</tr>

<%if request("action")="modify" then
sql="select * from productimg where daddTime='"&rs("daddTime")&"'"
set rsImg = server.createobject("adodb.recordset")
rsImg.open sql,conn,1,1
if rsImg.eof then urlnull="该产品还没有图片信息"
dim imgNum,url()
m=rsImg.RecordCount
redim url(m)
imgNum = 0
%>
<Script LANGUAGE="JavaScript" type="text/JavaScript">
var jsurl = new Array(<%=m%>);
var picid = new Array(<%=m%>);
</SCRIPT>
<%while not rsImg.eof%>
<Script LANGUAGE="JavaScript" type="text/JavaScript">
jsurl[<%=imgNum%>]="<%=rsImg("curl")%>";
picid[<%=imgNum%>]=<%=rsImg("iimgId")%>;

</SCRIPT>
<%
url(imgNum)=rsImg("curl")
rsImg.movenext
imgNum=imgNum+1
wend
%>
<Script LANGUAGE="JavaScript" type="text/JavaScript">
var num=1 //设置图片数初始值
var nummax=<%=m%> //图片数,可根据实际数更改

function img(sta){

obj=document.getElementById("img1");
objnum=document.getElementById("picnum");
if (obj.filters.item(0).Transition==23) // 这部分语句是用于改变切换样式,在23种样式中循环。
obj.filters.item(0).Transition=1;
else
obj.filters.item(0).transition++;
obj.filters.item(0).Apply();
if (sta==1) //以下部分用于切换图片和更新当前显示的图片号
num=num+1
else num=num-1
if (num>nummax) num=1
if (num<1) num=nummax

obj.src=jsurl[num-1];//写图片地址,根据实际改写
obj.filters.item(0).Play();//显示切换图片时的滤镜效果
objnum.innerText="第"+num+"张";//更新图片数
}
</SCRIPT>

<tr bgcolor="f0f0f0">
<td width="139" rowspan="2"><div align="right">产品图片信息<br />
可在此删除需删除的图片<br />
然后在下方上传新图片</div></td>

<td align="center">
<%if urlnull<>"" then
response.write urlnull
else%>
<img src="<%=url(0)%>" name="img1" width="200" height="134" id="img1" style="filter:revealTrans(Transition=1,Duration=1.5)">
<%end if%> </td>

<td width="439" rowspan="2" align="center"><input type="button" name="button2" value="上一张" onclick="img(2)" />
<input name="button" type="button" value="下一张" onclick="img(1)" />
<input type="button" name="submit" value="删除" onclick="checkdeleteImg()"/></td>
</tr>
<tr bgcolor="f0f0f0">
<td align="center"><div align="center"><span id="picnum"> 第1张</span></div></td>
</tr>
<%end if%>
<tr bgcolor="f0f0f0">
<td width="139"><div align="right">产品图片上传 请设置上传图片的数量<br />
<label>
<input name="num" type="text" id="num" size="2" maxlength="10" />
</label>    
<label>
<input name="Button" type="button" id="Button" onclick="setid();" value="· 设定 ·" />
</label>
</div></td>
<td colspan="2" valign="middle"><DIV ID="upid"></DIV></td>
</tr>

<tr bgcolor="f0f0f0">
<td><div align="right">产品介绍</div></td>
<td colspan="2">
<%
Dim sBasePath
sBasePath = "/newweb/fckeditor/"

Dim oFCKeditor
Set oFCKeditor = New FCKeditor
oFCKeditor.BasePath = sBasePath

if request("action")="modify" then
content=rs("cProductInFo")
Else
content=""
end If

oFCKeditor.Value = content
oFCKeditor.width = "95%"
oFCKeditor.height = "200"

oFCKeditor.Create "info"
%></td>
</tr>
<tr bgcolor="f0f0f0">
<td><div align="right">发布时间</div></td>
<td colspan="2"><input size="40" name="addtime" type="text" id="addtime" value="<%if request("action")="modify" then response.write rs("dAddTime") Else response.write Now() end if%>"></textarea> </td>
</tr>
<tr bgcolor="#e5eef5">
<td> </td>
<td colspan="2">
<%if request("action")="modify" then%>
<input type="hidden" name="action" value="modify">
<input type="hidden" name="pid" value="<%=rs("iPID")%>">
<%else%>
<input type="hidden" name="action" value="add">
<%end if%>
<input type="submit" name="Submit" value="<%if request("action")="modify" then response.write "修改" else response.write "添加" end if %>">
<input type="reset" name="Submit" value="取消"></td>
</tr>
</table>
</form>
<%
rs.close
Set rs = Nothing
%>
</DIV>
</DIV></DIV>
<DIV class=box_l_b> </DIV>


</DIV>
<SPAN class=cls></SPAN>
</DIV>
</DIV>

<script language="javascript">
setid();
</script>
<%footer()%>
zsnail 2006-10-30
  • 打赏
  • 举报
回复
用稻香老农的上传 也还可以
iasky 2006-10-30
  • 打赏
  • 举报
回复
aspupload 的主页上有例子的
xieliping 2006-10-30
  • 打赏
  • 举报
回复
楼上的各位朋友:
我现在想要同时上传四张图片和一些相应的表单信息,请问有没有这方面的代码可提供.
yaozhg 2006-10-23
  • 打赏
  • 举报
回复
使用aspupload最方便。。


到down.chinaz.com下载吧。一般服务商也有装。。比如快和省资源。
hamsky 2006-10-22
  • 打赏
  • 举报
回复
组件上传都具有这个功能,例如无惧上传,里面有详细的例子。
set upfile=new upfile_class
upfile.file("名称"):获取的文件
upfile.form("名称"):其他信息
jspadmin 2006-10-22
  • 打赏
  • 举报
回复
多文件和表单文本域信息同时上传
http://www.pifoo.com/netos/uploadfiles/showup3.rar
chinastorm 2006-10-22
  • 打赏
  • 举报
回复
用asp上传组件,网上很多的,百度一下啊

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧