asp无组件上传算法的改进

上传|算法|无组件

前几天帮朋友faintbear修改一个“asp无组件上传”的代码,得了几点心得,写在此处,或许还有点用处。

我没有开发过asp程序,只是临时报佛脚,修改了一下控制语句,所以,这里不再给出asp代码,只是说明一下思路。(你最好在看这篇文章前先浏览一下faintbear的《asp无组件上传的原理 (转) 》这篇文章,重复的部分我不再叙述了)

大体是这样的,一个form表单中可能post多个文本,居各简单的例子:
<form method="post" action="upload.asp" enctype="multipart/form-data">
<label>
<input type="file" name="file1" />
</label>
<br />
<input type="text" name="id" value="234523894"/>
<br />
<input type="text" name="name" value="Faint Bear"/>
<br />
<input type="text" name="friend" value="Smile Once"/>
<br />
<input type="submit" value="Submit"/>
<input type="reset" value="Reset"/>
</form>

-----------------------------7d429871607fe
Content-Disposition: form-data; name="file1"; filename="G:\homepage.txt"
Content-Type: text/plain
宝玉:http://www.webuc.net
-----------------------------7d429871607fe
Content-Disposition: form-data; name="id"
234523894
-----------------------------7d429871607fe--
Content-Disposition: form-data; name="name"
Faint Bear
-----------------------------7d429871607fe--
Content-Disposition: form-data; name="friend"
Smile Once
-----------------------------7d429871607fe--

由于file1可能非常大,而诸如id、name、friend这些要提交的域又非常多,而且file1、id、name、friend的相对位置又不确定(原文中是把这些条目的顺序写死的),如何才能更好的划分流的块呢?

我的思路是:首先按条目来划分块,就是file1、id、name、friend各一块;之后,如果是file类型的,再根据其大小细分成若干块。基本上是这样的结构:
--------------------------
file1 ------------
No.1 block
------------
No.2 block
------------
No. ..... .. block
------------
--------------------------
id
--------------------------
name
--------------------------
friend
--------------------------

这样就井然有序,既确保的结构的清晰,又解决的大文件上传的问题。

时间: 2024-11-03 07:37:35

asp无组件上传算法的改进的相关文章

ASP实例:一个简单的ASP无组件上传类

简单的ASP无组件上传类,发出来让大家看看.可以做做实验! 以下为引用的内容: <%@ language="javascript"%><%var self = Request.serverVariables("SCRIPT_NAME");if (Request.serverVariables("REQUEST_METHOD")=="POST"){        var oo = new uploadFile(

Asp无组件上传带进度条(续)

上传|无组件 几个月前,写过一篇关于Asp无组件上传带进度条的Blog,当时主要分析了一下通过Web文件上传并在后台获取分析数据的实现原理.其中实现进度条的根本就是要实现分块获取数据,根据分块大小和块数记录已上传大小.还有一些具体的细节问题当时并没有说清楚: Q: 进度信息如何访问?A: 进度信息保存在Application中,每次上传时生成一个进度ID,根据这个进度ID可以检索Application中的当前上传进度信息. Q: 进度信息以什么形式保存在Application中?A: Asp太弱

ASP无组件上传错误 ASP 0104的解决方法

错误|解决|上传|无组件 问题描述:ASP无组件上传程序无法上传较大的文件"Request 对象 错误 'ASP 0104 : 80004005'",(大概大于100kb就不行),但是原先在2000 server中可以上传5m左右的文件. 解决方法:在IIS属性中选中"允许直接编辑配置数据库",然后.在服务里关闭iis admin service服务找到windows\system32\inesrv\下的metabase.xml编辑其中的ASPMaxRequestE

化境ASP无组件上传类 - upload

上传|无组件 化境ASP无组件上传类 - upload_5xsoft 使用手册 1.0 稻香老农 http://www.5xsoft.com/ [ 下载 ] 目 录 1.关于 upload_5xsoft 2.运行平台与注意事项 2.类的成员与对象 3.使用示例 关于 upload_5xsoft 一直以来,由于FileSystemObject的局限,所以ASP最大的难题就是文件上传,大多解决法就是安装 第三方上传组件.可第三方组件有很多问题,有的组件要注册,有的组件要在表单中加上他的版权信息. 还

ASP 无组件上传

上传|无组件 ASP 无组件上传 说明:从网上收集了一部分,自己写了一部分.主要提升就是对于form的二进制数据进行了类封装,可以容易的得到form内的元素的信息. Form 二进制数据格式: 分割标志数据 + 0x0D0A 元素说明信息 + 0x0D0A0D0A 元素内容数据 + 0x0D0A 分割标志数据 + 0x0D0A 元素说明信息 + 0x0D0A0D0A 元素内容数据 + 0x0D0A -- 分割标志数据 + 0x0D0A 1. Upload.htm <html> <head

asp无组件上传带真实进度条

  asp无组件上传带真实进度条无组件上传带真实进度条 其中 upload.asp为核心代码,除非特殊需要,一般不需要修改 demo.htm是演示无刷新进度条(IE5.5+支持) demo.asp为处理demo.asp上传的文件,因为演示需要,在Demo.asp中仅仅上传,不作保存,如果需要保存,只需去掉相关注释即可. Example_Normal.htm,一个普通的上传的例子 Example_Normal_RadomFilename.htm, 一个保存将上传文件命名为随机文件名的例子 Exam

ASP无组件上传类的应用实例

上传|无组件|应用实例|上传|无组件|应用实例 ''''''-------- upload.htm ------------- <script language="javascript">   function checkFile(myForm)    { if(myForm.File1.value=='') return false;    myForm.submit();     }</script><form method="POST&qu

化境ASP无组件上传

上传|无组件 一直以来,由于FileSystemObject的局限,所以ASP最大的难题就是文件上传,大多解决法就是安装第三方上传组件.可第三方组件有很多问题,有的组件要注册,有的组件要在表单中加上他的版权信息.还有的就是组件的兼容问题.在网上也流传了很多无组件上传的代码,但都是只能上传文本文件,或是只能将文件上传到数据库中.作者这段时间在研究ASP,发现可以不用第三方组件上传任意类型的文件.就写了这个类,给大家一个方便,整个类放在一个文件:upload_5xsoft.inc 在 Example

ASP无组件上传·从原理剖析到实践(上)

上传|无组件 无组件上传一直是困扰大家的一个问题.其实原理很简单,核心就是分析字符串.但是,实际操作时,却困难重重.其中的关键问题还是大家往往对原理的剖析不够深入,或者是因为过程过于繁琐,导致bug不断.一直以来,都想做一个完善的例子,只不过想想就头痛,加上没时间(借口,呵呵 ),所以没有付诸行动. 今天就咬咬牙,给大家提供一个完整的无组件上传的例子.因为本人耐性不好,所以咱们一点一点来,分几天完成.未来的几天,我会天天更新这个文档,这个过程也是大家学习和提高的过程. (完整的源码和示例,可以在