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

2016-01-29 17:44 11 1 收藏

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

【 tulaoshi.com - ASP 】

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


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

2。HTML文件
muploadfile.htm
<Form name="upload_file" enctype="multipart/form-data" action="muploadfile.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文件
muploadfile.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))
    lngFieldNameEnd=Instr(lngFieldNameStart,strHeaderData,chr(34))
    
    
    strFieldName=Mid(strHeaderData,lngFieldNameStart,lngFieldNameEnd-lngFieldNameStart)
    strFieldName=Trim(strFieldName)
    strFieldName=Replace(strFieldName,vbcrlf,vbnullstring)
    
        '判断文件数据时候开始
    If strComp(strF

来源:http://www.tulaoshi.com/n/20160129/1502704.html

延伸阅读
标签: ASP
  在无组件上传我刚试成功,所以提供代码给大家一起共享。 /*  addemployee.asp   */ <html <head <title职工之家</title <meta http-equiv="Content-Type" content="text/html; charset=gb2312" <link rel="stylesheet" href="../css/site_css.css" type="text/css" </head <script language=...
标签: ASP
  以前,如果要用ASP操作文件,比如移动、复制、删除或者创建一个记事本文件,基本上都是通过FILESYSTEMOBJECT对象做的,当然,这个东西很专业,也没说什么不好,它可以提供完善的文件信息,比如建立时间,大小,上次修改时间等等,但是如果你不做痛苦的高代价的字符格式转换的话,利用它你无法直接操作二进制文件。 但是,现在我们介绍...
标签: ASP
  出处:宝玉BLOG 一、无组件上传的原理 我还是一点一点用一个实例来说明的吧,客户端HTML如下。要浏览上传附件,我们通过<input type="file"元素,但是一定要注意必须设置form的enctype属性为"multipart/form-data": <form method="post" action="upload.asp" enctype="multipart/form-data"  <label   <inpu...
标签: Web开发
我们平时在日常网络生活当中,上传则是一个非常重要的功能。尤其是对于那么依靠网友分享的站点来说,上传是用户体验的重要的部分,分享是web2.0时代的主流特色,随之分享而来的上传,则是其中的关键一环。 先来说说以前的上传吧,真是令人苦恼。网络速度缓慢是最直接的原因,当然在交互设计上也存在着让人崩溃的地方,没有清晰的提示和防止...
标签: Web开发
对于上传多个文件,可以通过js来动态生成文件域,下面是源代码,收藏在这里,供以后直接使用,hoho! js代码: script language="javascript"   //全局变量,代表文件域的个数,并用该变量区分文件域的name属性   var file_count = 0;   //增加文件 域      function additem(id) {   &n...

经验教程

206

收藏

14
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部