无组件实现文件上传/下载(2)


iRe.Open iSql,iConcStr,1,3 
iLen=Request.TotalBytes 
sBin=Request.BinaryRead(iLen) 
iCrlf1 = ChrB(13) & ChrB(10) 
iCrlf2 = iCrlf1 & iCrlf1 
iLen = InStrB(1, sBin, iCrlf1) - 1 
iSpc = LeftB(sBin, iLen) 
sBin = MidB(sBin, iLen + 34) 
iPos1 = InStrB(sBin, iCrlf2) - 1 
While iPos1 > 0 
iStr = f_Bin2Str(LeftB(sBin, iPos1)) 
iPos1 = iPos1 + 5 
iPos2 = InStrB(iPos1, sBin, iSpc) 

iPos3 = InStr(iStr, "; filename=""") + 12 
If iPos3 > 12 Then 
iStr = Mid(iStr, iPos3) 
iPos3 = InStr(iStr, Chr(13) & Chr(10) & "Content-Type: ") - 2 
iFn = Left(iStr, iPos3) 
If iFn <> "" Then 
iRe.AddNew 
ire("path")=left(iFn,instrrev(iFn,"\"))  
iRe("fname") = mid(iFn,instrrev(iFn,"\")+1) 
iRe("type") = Mid(iStr, iPos3 + 18) 
iRe("img").AppendChunk MidB(sBin, iPos1, iPos2 - iPos1) 
iRe.Update 
End If 
End If 

sBin = MidB(sBin, iPos2 + iLen + 34) 
iPos1 = InStrB(sBin, iCrlf2) - 1 
Wend 
iRe.close 
set iRe=Nothing 
%>
 
'================================================================== 

' 下载数据的ASP页: zj_down.asp 

'================================================================== 
复制代码 代码如下:

<% 
Response.Buffer=true 
Response.Clear 
iConcStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _  
";Data Source=" & server.mappath("zj.mdb") 
set iRe=server.createobject("adodb.recordset") 
iSql="tb_img" 
iRe.open iSql,iconcstr,1,1 
Response.ContentType=ire("type") 
Response.BinaryWrite iRe("img") 
iRe.close 
set iRe=Nothing 
%>