最短的无组件上传代码(仅9行)

原创 2004年02月25日 10:21:00
我研究了一下无组件上传,并作出了一个最简单可行的方法
----用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="width: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)
%>




如果你的键盘上ctrl+C  +V键都已经被你按坏了的话,没关系我还给大家提供了相应的测试地点

http://www.cgfront.com/up/uup.htm

最后希望大家多多指教。


作者:Leonard

Asp无组件上传源代码(改良版)

   lngRequestSize 和binRequestData 都是上页的file控件直接提交过来的在下一页直接接受传过来的数据就可以 lngRequestSize = request.total...
  • cmoremore
  • cmoremore
  • 2005年02月01日 13:43
  • 3689

jquery uploadify for asp 批量文件上传程序 整合风声asp无组件上传

jquery 上传插件 uploadify (官网:http://www.uploadify.com/) uploadify功能强大,支持多文件、批量上传、状态进度条等,提供前端文件限制相关...
  • engling
  • engling
  • 2011年10月27日 23:57
  • 1862

最快的ASP无组件上传类(4M只需10秒)0.96版

 ----------------------------------------------------------------------转发时请保留此声明信息,这段声明不并会影响你的速度!***...
  • feng2375
  • feng2375
  • 2007年08月15日 16:52
  • 3048

asp无组件上传的原理 (转)

 出处:宝玉BLOG一、无组件上传的原理我还是一点一点用一个实例来说明的吧,客户端HTML如下。要浏览上传附件,我们通过元素,但是一定要注意必须设置form的enctype属性为"multipart/...
  • faintbear
  • faintbear
  • 2004年10月15日 16:30
  • 16105

JAVA HTTP 无组件 上传文件

一. 需求     1.用JAVA实现HTTP的文件上传。     2.显示上传进度条。 二. 问题分析     1.如果使用apache的上传组件common-fileupload.jar进...
  • zhouyingge1104
  • zhouyingge1104
  • 2014年05月16日 16:01
  • 1365

ASP无组件上传文件到服务器

        最近参与了一个网站开发的项目,在做后台管理时用到了文件上传,因为客户要求数据库保存的是文件路径,文件就得直接上传到服务器,而且麻烦的是需要把其他表单信息和上传的图片一起进行数据处理,这...
  • Milanello_tyfor
  • Milanello_tyfor
  • 2007年11月21日 11:06
  • 1016

PHP无组件上传类

  • 2013年07月19日 18:40
  • 10KB
  • 下载

anupload 组件 无刷新文件上传

  • 2014年04月14日 12:36
  • 26KB
  • 下载

6行代码实现无组件上传

stimson(原作)目前有很多无组件上传类,我大概看了一下,大多写的相当复杂,有的居然还只能传文本最关键的是没有10行代码以下的 :)我花了一个晚上时间研究了一下ADODB.Stream,并且用了6...
  • ytbada
  • ytbada
  • 2007年01月08日 15:35
  • 418

艾恩ASP无组件上传最新更新说明

利用周末的时间,对上传组件进行了比较大的更新,优化了上传代码,尽可能的降低上传的内存消耗同时提高上传的速度。具体修改及增加的功能如下:1.文件上传类改用jscript2.文件上传类增加几个属性    ...
  • Anlige
  • Anlige
  • 2009年11月02日 20:46
  • 1056
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最短的无组件上传代码(仅9行)
举报原因:
原因补充:

(最多只允许输入30个字)