多表单域无组件文件上传的例子

2018-09-06 11:08

阅读:434

  最近经常有人问到这类问题,在此转贴一下,内容:


1。数据库表结构(access(小型网站之最爱)):
UserID:Text(保存上传文件的用户ID)
FileContentType:Text(用来保存上传文件的类型,eg:Application/msword,主要用来使用户能正确下载此文件)
FileContent:OLE Object(保存文件数据)

2。HTML文件
mPreviousFile.htm
<Form name=upload_file enctype=multipart/form-data action=mPreviousFile.asp method=post>
<input type=hidden name=UserID value=abc>
<input type=hidden name=FileUploadStart> 这里用来表示开始文件数据上传
File to send: <BR>
<INPUT TYPE=file name=file_up size=30><br>
<INPUT TYPE=file name=file_up size=30><br>
<input type=hidden name=FileUploadEnd> 这里用来表示文件数据结束
<input type=submit value=Submit>
</Form>

3。ASP文件
mPreviousFile.asp

<%
Response.Expires=0
Function bin2str(binstr)
Dim varlen,clow,ccc,skipflag

skipflag=0
ccc =
If Not IsNull(binstr) Then
varlen=LenB(binstr)
For i=1 To varlen
If skipflag=0 Then
clow = MidB(binstr,i,1)
If AscB(clow) > 127 Then
ccc =ccc Chr(AscW(MidB(binstr,i+1,1) clow))
skipflag=1
Else
ccc = ccc Chr(AscB(clow))
End If
Else
skipflag=0
End If
Next
End If
bin2str = ccc
End Function


varByteCount = Request.TotalBytes
bnCRLF = chrB( 13 ) chrB( 10 )
binHTTPHeader=Request.BinaryRead(varByteCount)
Divider = LEFTB( binHTTPHeader,INSTRB( binHTTPHeader, bnCRLF ) - 1 )

开始读非文件域的数据
Do while lenB(binHTTPHeader)>46

binHeaderData = LeftB(binHTTPHeader, INSTRB( binHTTPHeader, bnCRLF bnCRLF )-1)
strHeaderData=bin2str(binHeaderData)

lngFieldNameStart=Instr(strHeaderData,name=chr(34))+Len(name=chr(34))

上一篇:AspJpeg V1.5.0 破解版

下一篇:文本搜索


评论


亲,登录后才可以留言!