zoukankan      html  css  js  c++  java
  • asp最短的无组件上传代码(转)

    我研究了一下无组件上传,并作出了一个最简单可行的方法
    ----用9行代码真正实现无组件上传,怎么说来花了才半天就写了9行代码算是有点效率和成果。
    于是就写了这篇文章。



    formSize=Request.TotalBytes()
    formData=Request.BinaryRead(formSize)
    DataHeader=LeftB(formData,InStrB(formData,Chrb(13)&Chrb(10)))
    strFileData=MIDB(formData,LenB(DataHeader),LenB(formData)-LenB(DataHeader)*2-3)
    HeaderPos2=InStrB(strFileData,ChrB(AscB("-"))&ChrB(AscB("T"))&ChrB(AscB("y"))&ChrB(AscB("p"))&C

    hrB(AscB("e")))
    HeaderPos3=InStrB(HeaderPos2,strFileData,Chrb(13))
    DataHeader2=LeftB(strFileData,HeaderPos3+4)
    strFileData=MIDB(strFileData,LenB(DataHeader2),LenB(strFileData))
    Response.binaryWrite(strFileData)







    DataHeader--文件头
    strFileData--去处文件头后的数据,最后的输出值
    HeaderPos2--Content-Type:的位置
    HeaderPos3--例如:Content-Type:image/gif的位置
    DataHeader2--整个前面的文件头

    思想:
    1。先直接去掉文件头和尾(例如-----------------------------7d230d1f940277)
    2。跳过前面所有信息直接查找Content-Type:image/gif
    3。提取有用的信息和字段
    4。数据都提出来了至于怎么保存就简单了。至于用FSO或Adodb.Stream就随你了。

    问题:
    有人可能会讲一个表单不可能只有一个file
    这样的话你的数据就不能用这么简单的办法正常提取了
    其实也好办你把他们分开做不就就完了:)


    下面是完整实例

    uup.htm
    <html>
    <a  href="http://www.cgfront.com">www.cgfront.com</a>
    <form  name="loadfromfile"  action="uup.asp"  method="post"  enctype="multipart/form-data">
      <input  type="submit"  name="submit"  value="OK">
            <input  type="file"  name="loadfromfile"  style="400"    value="">
    </form>
    </html>

    uup.asp
    <%
    formSize=Request.TotalBytes()
    formData=Request.BinaryRead(formSize)
    DataHeader=LeftB(formData,InStrB(formData,Chrb(13)&Chrb(10)))
    strFileData=MIDB(formData,LenB(DataHeader),LenB(formData)-LenB(DataHeader)*2-3)
    HeaderPos2=InStrB(strFileData,ChrB(AscB("-"))&ChrB(AscB("T"))&ChrB(AscB("y"))&ChrB(AscB("p"))&C

    hrB(AscB("e")))
    HeaderPos3=InStrB(HeaderPos2,strFileData,Chrb(13))
    DataHeader2=LeftB(strFileData,HeaderPos3+4)
    strFileData=MIDB(strFileData,LenB(DataHeader2),LenB(strFileData))
    Response.binaryWrite(strFileData)
    %>
  • 相关阅读:
    Code First Migrations更新数据库结构(数据迁移) 【转】
    Lambda表达式详解【转】
    @Html.Raw用法
    ASP.NET MVC文件上传【转】
    SQL Server附加数据库拒绝访问错误解决方法
    window.location.href的用法
    vs2013中将复制过来的文件或文件夹显示到解决方案管理
    Expression<Func<TObject, bool>>与Func<TObject, bool>的区别
    VS中的一些标记
    ob_get_contents()
  • 原文地址:https://www.cnblogs.com/zhuor/p/223185.html
Copyright © 2011-2022 走看看