TechWeb-技术社区 » 程序开发 » asp显示access数据库一个id下多幅图片的问题


2007-12-8 21:18
就我一人,不是做网站,是在网站里面加点功能

2007-12-8 21:18
一共3个文件,第一个upload_5xsoft.inc B8{\4TA1w8{j9]$X

uz#e(t h9[3\4g` HTML code
M_(F FS/Y <SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>LH;n/]%xZ

'~!F*V0cM#V S;?Q U
:q~!S LhqC%F4a dim upfile_5xSoft_Stream
7xj^i:qbo NJ8^ .m"M?q7]
Class upload_5xSoft
8K*_d2S5rA)y)^   2?2]p n^"B^)xk h
dim Form,File,Versionof[9vX
  
6~"hK S-D Private Sub Class_Initialize
b)jY(ntfv }b dim iStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFormEnd,theFile
a"i)\V7B dim strDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePath,iDivLen,mStr;XrnI b1h!Vd"oo
Version="HTTP上传程序 Version 1.0",`H(y)l@
if Request.TotalBytes<1 then Exit Sub$U LN;U%S'[
set Form=CreateObject("Scripting.Dictionary")l#pu$uuv-\;y+V8d
set File=CreateObject("Scripting.Dictionary")
g&e"H|.m.N/Jbk%o set upfile_5xSoft_Stream=CreateObject("Adodb.Stream")ky-dl Ni:]
upfile_5xSoft_Stream.mode=3z'v;N R8@#i2sO
upfile_5xSoft_Stream.type=1
&o|-S2x&{{ykJ j0R upfile_5xSoft_Stream.open
!H;mj@ H)n upfile_5xSoft_Stream.write Request.BinaryRead(Request.TotalBytes)G V6qr!Cw.\ d

%`/].V1_ND1d vbEnter=Chr(13)&Chr(10)
-HP/KYZC iDivLen=inString(1,vbEnter)+1
"Qr+KJ~!l strDiv=subString(1,iDivLen)@1N(vZ-da)kE.u o]]
iFormStart=iDivLen
{8Yu?"kdo iFormEnd=inString(iformStart,strDiv)-1 d.OZ(jBY-j{H
while iFormStart < iFormEnd
2Zr \-Tq]y   iStart=inString(iFormStart,"name=""")
dTn%i:a6c]/W)H'y/U   iEnd=inString(iStart+6,"""")
q;L%O!P:|Qq5\   mFormName=subString(iStart+6,iEnd-iStart-6)(jHN5n7l}
  iFileNameStart=inString(iEnd+1,"filename=""")
X'JnP9x:C,J   if iFileNameStart>0 and iFileNameStart<iFormEnd then J/z7}6c'N)C1u_ vD5]
   iFileNameEnd=inString(iFileNameStart+10,"""")sH0vP ~ `O}@
   mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10)
6f9E@ k-jM4P;_ Hs    iStart=inString(iFileNameEnd+1,vbEnter&vbEnter)
%`d%nj9ey gzT    iEnd=inString(iStart+4,vbEnter&strDiv)
7P!vP3G D.F    if iEnd>iStart then |6[@(b1K Qs;IS6E-ZI
    mFileSize=iEnd-iStart-4En%TEs4O2KA ~
   else SG;Y6[0fbU
    mFileSize=0
.A:Sf],Y8sK    end if
$L8if9[+F!`    set theFile=new FileInfoaH:{(p@\TS#W
   theFile.FileName=getFileName(mFileName)
N9[C:VZ'E@3Im0^9Q.`    theFile.FilePath=getFilePath(mFileName)
5qW hea e4u    theFile.FileSize=mFileSize
f!B&~HB5Qa    theFile.FileStart=iStart+4 G(~_ SpIg]3x
   theFile.FormName=FormNameL T%CVm
   file.add mFormName,theFile
.]k$kU e,_   else
H B5@(K;Srq-u    iStart=inString(iEnd+1,vbEnter&vbEnter)
G"T;m ^qq    iEnd=inString(iStart+4,vbEnter&strDiv);j1};i$jM&Q!}i$s
(o4\1zw_"Fq9d
   if iEnd>iStart then
k]&q'KUd-c/[u     mFormValue=subString(iStart+4,iEnd-iStart-4)
tq'K,Vfx @7Mbd    else
|:Tb rQ3} O     mFormValue=""
"^z8e"z*WX    end ifsV)~9NMi
   form.Add mFormName,mFormValueE)zm4z.?(}%k
  end if#~9MB&t~;B/n
R1L S6S6xYH8x;W ~-g
  iFormStart=iformEnd+iDivLen
6AN y'b7?+`N   iFormEnd=inString(iformStart,strDiv)-1zXp o:B1k$Q n[:`
wendBcw"p)n
End SubMAB!r7La$e

_.g]!oY{1TdS? Private Function subString(theStart,theLen)
1J{ W@J%G#w a dim i,c,stemp
%qD+s+c{w r upfile_5xSoft_Stream.Position=theStart-1
os yuA&Q6ww stemp=""
m(T7c`3J$~CV${ for i=1 to theLen
}o:PeUp    if upfile_5xSoft_Stream.EOS then Exit for$[tX"Q5A2o i7r
   c=ascB(upfile_5xSoft_Stream.Read(1))
{;bI c kq;^tZ    If c > 127 Then
&j I&Sc-XlZ     if upfile_5xSoft_Stream.EOS then Exit for
t5O$qjs1@     stemp=stemp&Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))
2n9O!E$XaBsJ{     i=i+1i7|6Kk W"WE-JlY
   else
-W~6R b t M4U F%M g     stemp=stemp&Chr(c)
J n-T/XFA    End If
MRvS)x;\ Next
Q%\4d+]"t subString=stemps [g6z'N G"[ vo3w7v
End function0q%y3s m @mU5G
C*y-h0ZD@S3FL`
Private Function inString(theStart,varStr)
.F*@E]#YnR Vt dim i,j,bt,theLen,str
*N#M#f7?(^3u'B InString=0
zg#r.z*@|3v Str=toByte(varStr) V(H V Yj
theLen=LenB(Str)
9?7x:gv |@7GG Q for i=theStart to upfile_5xSoft_Stream.Size-theLen
@*p.JSq'NT4N    if i>upfile_5xSoft_Stream.size then exit Function
c5t5E5E3iMh    upfile_5xSoft_Stream.Position=i-1
2J9mf:N oX-{1m OQ5M    if AscB(upfile_5xSoft_Stream.Read(1))=AscB(midB(Str,1)) thenxq,mZV8wO*T
    InString=idI2dP-Zx m
    for j=2 to theLen
oJ0`(bbE'BIx       if upfile_5xSoft_Stream.EOS then
)~*\7b"kSlXQ7R         inString=0
v3i|@,mt         Exit for
lr{t4Ust       end if
*qE#]f N-k       if AscB(upfile_5xSoft_Stream.Read(1))<>AscB(MidB(Str,j,1)) then6M&I%z\!r%cm"p9lc
        InString=0&|V"MO0z}9a
        Exit For
:O|Fep:Lu       end if
Nmh1I CX'Q lRc!b     nextp9g8?+ibv4eE
    if InString<>0 then Exit Function
w[:^%hW    end if
`z8mIvt next'|]6`;cO,Nv
End FunctionHbR&P5s7_3WH

8eIM`(^+[,oi*Q \2O-q Private Sub Class_Terminate  
L/OXM/w,_   form.RemoveAll
p-kymQ5a-?   file.RemoveAll
:SnH_f*V5O,?   set form=nothing;j&h{7}&u-Ic
  set file=nothing
#y0H_+HI;u/Fe   upfile_5xSoft_Stream.close
-M.F1ZJ$n   set upfile_5xSoft_Stream=nothing
|.Iq;k^^(lyn End Sub
Ydz)U i hT[    4KPiCY7l

]s#S#@y;[x Private function GetFilePath(FullPath)H;r,@y,g/@^7P8ts
  If FullPath <> "" Then
fR0N }G    GetFilePath = left(FullPath,InStrRev(FullPath, "\"))
2t-S ](n-e U E4^}o   Else L SZ`zi!F
   GetFilePath = ""
GX/bR l:YJ\   End If3y;suo5S
End  functionE7e uU[z
1`*K FY}U]n
Private function GetFileName(FullPath)
6z*\%Ea n+C}   If FullPath <> "" Then
1iI!Y;JX,rtL    GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)
l H+T#h@M   Else
qhy$I BBV    GetFileName = ""C(g:y ds5s
  End If
u v1I/N/ZB(]AT End  function
9O5p z4Bm-]q;] ogA fA']#z,\
Private function toByte(Str)!g @sv`.Q^S
   dim i,iCode,c,iLow,iHigh
#|5H0vEQi:c    toByte=""-y ZMt,?U u
   For i=1 To Len(Str) vOkc7T
   c=mid(Str,i,1)Sd(k+k3b}5Hnu9R
   iCode =Asc(c)
#G&v:VO l%Gj0T    If iCode<0 Then iCode = iCode + 65535h-Pr&tM1v
   If iCode>255 Thenv&Q%~'pr X}
     iLow = Left(Hex(Asc(c)),2)hVN&g.Y [z1s$c)K
     iHigh =Right(Hex(Asc(c)),2)
gM#r4Z6U9Cx+q      toByte = toByte & chrB("&H"&iLow) & chrB("&H"&iHigh)r I1`W/K X*MB
   Else
n!}+~n|1v @      toByte = toByte & chrB(AscB(c))
j~GY1lt;G*JpU    End If-pf/[5\dD*G
   Next
5zZrhC w l+Q4L End function PkC2`d&|3@d
End Class%O/KJI5@rI jq'y&P
7],n\3iZQ

?8ck#{5_g} WZ Class FileInfo
.| R/kR5? q:o   dim FormName,FileName,FilePath,FileSize,FileStartv#`,izs L)S6H5D
  Private Sub Class_Initialize
7Pr e g~ f[     FileName = ""
To%g cL2R     FilePath = ""
/P,g?_+KE2Ri.S}     FileSize = 0
d5x*h:o?#Wm6?     FileStart= 0kQp/[ ?!{3C
    FormName = ""L5@C ]ka$wH
  End Sub
kne$t4Z:N*G{D    S*M5j*Vr J*a H
Public function SaveAs(FullPath)LKX#Dt
    dim dr,ErrorChar,i
g"f5X1[p Q(VRm     SaveAs=1(W yzE|k
    if trim(fullpath)="" or FileSize=0 or FileStart=0 or FileName="" then exit function
0cg5}1J6r*~)G(z     if FileStart=0 or right(fullpath,1)="/" then exit function
*BPl4?d6G*^#t j     set dr=CreateObject("Adodb.Stream")b5IPNzl7w
    dr.Mode=39S/]v+b^8sD1h
    dr.Type=1
;o"~-ZFed*ai     dr.Open1kw4w:e9Nb}-@
    upfile_5xSoft_Stream.position=FileStart-1A hh0y`
    upfile_5xSoft_Stream.copyto dr,FileSizeCxy(X r-l
    dr.SaveToFile FullPath,2
.[(sH#c5m-Mf3M{s     dr.Close
}e9[{G[J9t     set dr=nothing i h"Tw%CPo
    SaveAs=01p4b-bTP,Vr
  end function
'dePF6^6w-B;N%J End Class
Ab p o*mD </SCRIPT>

2007-12-8 21:18
HTML coden+VFU7_}_Fb
XE*d4n"A*_i)M2[

4`,^*E,Kx(E Nv'T 第二个upfile.aspM9p^wEa6d9}o6T
<!--#include FILE="global.asp"-->
L nRG8I)??+E <html>
0[)Q*{oX(_h <head>
jr;]5zXD!EF1V;G <title>附件上传</title>
3^:j q Q6O0t*E <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> \/c(P)``1W@
<style type="text/css">V)d&usem'k Ca
<!--ZN1[`5i4CQd)N&D
td {  font-size: 9pt}
$V:C!]qG;S -->
6t#X{[3f'n,E </style>oMGlbEJH
<script language="JavaScript">
-y1El'Eye1k| <!--
qn'Wl8S%~9[ { function check();SX7qy*|bg
  {
I7RR:]HmrER3z1e&N      if(document.form1.file1.value=="")
,V5Q[T;`x_      {
&[g0I:B Fb_           window.alert("请选择上传文件!!!");Gj/MP1^'{-U
          oYHz6t m!jo
          return  false;/|(N|%eo@T[${6j
     }WpQ |7Pw"v*l?&t
    document.all.item("layer1").style.display="";
b6x:l.xD$\ ?M;v\:K     return  true;7ZkA6` \3?frLB0G
   
$V-~ ce*[ v)z   }u)u E(L;kjW U.o
-->  VB_4MdHAS
</script>[T T1F,@#c

um8v$C1`6KYx+G{E </head>
_V3Gy6Xw Nxe 0E1WCr)cg Q^
<body topmargin="20" leftmargin="20">
d ?(_+SSFB*H!D <div id="Layer1" style="display:none;position:absolute; width:100%; height:80%; z-index:3; left: 20px; top: 20px; background-color: #799AE1; layer-background-color: #006699; border: 1px solid #006699;vertical-align:middle;text-align:center;">
tg4m.U*a0I:xG <table >gJ1XK;GyB-H
<tr>PI'L7U3qr;Fha"?)b
<td style="width:100%;height:80px" align="center" valign="middle">
{`VS'XR&@U I9B 文件正在上传,请稍候......r{I@;EV
</td>G.R E$ZZ9|-s?a`
</tr>7zFA6Q y Qar#kV
</table>
Ti}{4^9IJW$m5|i&G </div>'zBBS(|5g#G/~V
<form name="form1" method="post" action="upfilesubmit.asp" enctype="multipart/form-data" >)l,wle[ Y*\C
  <p>
8\)vtIpD)AK     <input type="hidden" name="upcount" class="tx" value="1" size="20">];aO*N*F a^ ` v oT
    <input type="hidden" name="act" value="upload">
*M'xb6WHc#?6e   </p><br>
c#pe[ X_   <table width="100%" border="1" cellspacing="0" cellpadding="5" align="center" bordercolordark="#CCCCCC" bordercolorlight="#000000" height="58">0\ h^m5Z`0n^'X
    <script language="javascript">Xo ds^tt
      function setid()
9rj7c!`$UU-T       {f-[ f{e.|N
      str='<br>';
m7]2@)c+y.x       if(!window.form1.upcount.value)fIau"d'a\Pu(F
       window.form1.upcount.value=1;L\2\;B8t Jo zuj
       for(i=1;i<=window.form1.upcount.value;i++)zk!fgh2H
         str+='文件'+i+':<input type="file" name="file'+i+'" style="width:200" class="tx1"><br><br>';8Bv^,wFOf$} U
      window.upid.innerHTML=str+'<br>';QpKy8Jf
      }
;q#Q;A3c-vh         </script>D T-F$i3@:jgp
    <input type="hidden" name="filepath" size="20" value="<%=upfilefolder%>">
%Z#V#_ vyvh`MLSE     <tr align="center" valign="middle"> {4ekY@V#X;ev
      <td align="left" id="upid" > 文件:
OJ Li+r[1Ozu         <input type="file" name="file1"  value="" style="width:80%"> </td>#z;v,{\s e:^/V
    </tr>
fcN Zr@G     <tr align="center" valign="middle" >yB0A^~1vVk
      <td  height="16" align="left" bgcolor="#FFFFCC"><font color="#FF0000">*如果文件稍大,请耐心等待!</font></td> {0G F j H*@ R7C
    </tr>"S7W9b#L+e
    <tr align="center" valign="middle" >
lwh&kRc;a)Q       <td  height="16" width="274"> <input type="submit" name="Submit" value=" 上传 " onClick="return check();">
.tB%p"W#r'Lw         <input type="reset" name="Submit2" value=" 重置 "> </td>2?7xS(a(R,G` X0~
    </tr>
I&`3f:u/kJMrK8m   </table>   -v7c}V)u'}.hUzt
</form>   +m3n4bG"s]
</body>   
hDb2i)R0P-L </html>   [_8f!k$P uei
<script language="javascript">   
)m2d$r[:V0~#e9J)I/i    
8`wQ9a"OB //setid();   
;w!}lE%f?7Ye[7B </script>

2007-12-8 21:18
HTML code j/grZK

-PgFYk 第三个upfilesubmit.aspeu6S)p6Uc2r4\~
<%'OPTION EXPLICITs'u` I!o t

zu$~,Dh%o %>
WK qf$]Kx <!--#include FILE="upload_5xsoft.inc"-->*z+E,X'K-WUm
DbY rz:L5mhi)b
<%
)XT)r!rBP Server.ScriptTimeout=900
C,o+Dgo dim upload,file,formName,formPath,iCount%M'p'p0h g(\8mL
set upload=new upload_5xSoft ''建立上传对象 T#xMkmRU@

#DquIi M formPath=upload.form("filepath")
&^z h9q(X '在目录后加(/)
N)w?&XWo(gE J{UQ if right(formPath,1)<>"/" then v$Y6Lmh8|9[
    formPath=formPath&"/"
G-t w W#a[ end if
K`;j(Rk t X]9S5pjv
iCount=0p}S zXYN^ QP
for each formName in upload.file ''列出所有上传了的文件XX/eF\ k;m;|
set file=upload.file(formName)  ''生成一个文件对象S%fg8W4[Q

i:i(J:?M;k-v j 'fileExt=lcase(right(file.filename,4))  ''扩展名
2pP2tJ7tTQ1S9h 'filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&file.FileNameTV,@f{7@
filename=formPath&file.filename
*Lq.E@SR7pb 'newfilename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&FileExt$qI+M&|^y*~6F

L~6T,r1A&Ik\$Sv oldfilename=file.filename
*zm&iC}Y if file.FileSize>0 then         ''如果 FileSize > 0 说明有文件数据9]k%xH4Af1Qbu6Ld|-f
    file.SaveAs Server.mappath(filename)   ''保存文件
.bvrtMup     iCount=iCount+1Z'UFAD!Wj@B%V
end ifarT3x%j7}+V8W"[
set file=nothing\ A9?/a*H|qC
next
:}a6\oO/g]2~ set upload=nothing
:?%HY;n Y'u q _ '写入附件表3h n|-s \P
'sql="insert into CommenInfoAttach (InfoID,AttachType,AttachOldName,AttachNewName) values ('"
Ed+Of/E"M@ 'sql=sql+cstr(session("NewInfoID"))+"',1,'"
hrBlwNf$I P 'sql=sql+oldfilename+"','"2u)v-@/G zm[Y7N;k
'sql=sql+newfilename+"')"/q'd1?9H6q#yl+kM6[%sR
'response.Write(sql)
q l9FiA 'conn.execute sql b ii E:tdJN$R
C"`'AC.`T8U
response.write("恭喜您,上传成功!") HF7wA$s

{4nt$HAyu %>)RM8M;ur1oW8L
<%
:h9TLHZ 2G-Q!`*|8B yb+E$d
'window.opener.upfiletd.innerHTML=window.opener.upfiletd.innerHTML+'<%=oldfilename%>7zo.o T"v t
<%'window.close();
&C5{%z-Klx5Rp8u
2H,WNob8@ %>

2007-12-8 21:19
我能帮到你的就这么多了,其实网上这东西很多的

2007-12-8 21:19
多谢大哥鼎力相助!!!
7t%L0?H;S+?i|         小弟在此感激不尽!!

2007-12-8 21:19
再问一个问题: "Au RJVp9e^(H
          上传的图片到哪了,我想把他放在images这个文件夹下,在哪修改可以?

页: 1 [2]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.