最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
深入研究“用ASP上载文件”(二)
时间:2022-06-30 10:06:48 编辑:袖梨 来源:一聚教程网
二、在ASP中执行
现在已经得出结论,RFC1867是在WEB应用程序上载文件的最好方式。那么如何来运行?Microsoft提供了什么方法?其它有哪些方法可以用?
Microsoft的Posting Acceptor
ASP不支持multipart/form-data编码方式,但是,Microsoft提供了免费的Posting Acceptor(http://www.microsoft.com/iis/support/iishelp/iis/htm/core/pareadme.htm),它是一个ISAPI应用程序,上载结束后,产生一个到ASP页的重新投递。(见 Scott Stanfield的文章 issue of MIND(98年七月))。
Software Artisans的SA-FileUp
SA-FileUp(http://www.softartisans.com/softartisans/saf.html)是最早的商业活动服务器组件(Active Server Components)之一。第一版是97年5月开始使用的,现在全世界包括Microsoft.com在内的上千个网站都在使用它。早期的Beta版本用ISAPI过滤器和活动服务器组件的联合体与ASP结合起来。接着,Microsoft推出了ASP 1.0b(ASP.DLL 1.15.14.0),提供了一种新方法:Request.BinaryRead(二进制读请求)。二进制读方法使浏览器中的原始未加工数据可以被活动服务器组件使用。这样一来,SA-FileUp就不再需要ISAPI过滤器,而作为一个ASP组件存在了。
SA-FileUp使用二进制读请求,而不是通过表单对象。这样是有意义的:你怎能一边从浏览器读原始数据流,又同时把它作为表信息来解析呢?为了照顾ASP开发人员,SA-FileUp 在它自己的表集里重新提供了所有的表请求 功能。这样使习惯于使用表请求的ASP编程人员对SA-FileUp 能够更加熟悉。
Posting Acceptor与SA-FileUp 之比较
现在就PA和SA-FileUp进行一个尽可能客观的比较:
■ 与ASP的结合性:SA-FileUp在ASP中是完全可脚本化的,它可以与ASP应用程序很好地结合起来, 而不是作为一个独立的ISAPI DLL存在。
■ 标准支持性:从IE浏览器进行PA上载要使用其特有的WebPost API,所以不如RFC1867, 使用PA,对于Netscape和IE用户要使用不同的格式。
■ 匿名连接:由于PA使用一个ISAPI DLL,在ASP应用程序以外它就必须提供额外的安全保护。因此在默认状态下PA不允许一切匿名连接。PA 1.1可以允许匿名上载,但是因为有一个上载的编程控制,这里仍然有一定的危险。由于SA-FileUp已经和ASP结合在一起,应用程序可以决定适当的安全度,包括匿名。
■ 上载控制:上载正在发送时,PA不允许任何控制。但是用SA-FileUp,可以限制上载的规模或实时决定取消上载。而最好的一点在于可以动态改变上载的位置。
现在已经得出结论,RFC1867是在WEB应用程序上载文件的最好方式。那么如何来运行?Microsoft提供了什么方法?其它有哪些方法可以用?
Microsoft的Posting Acceptor
ASP不支持multipart/form-data编码方式,但是,Microsoft提供了免费的Posting Acceptor(http://www.microsoft.com/iis/support/iishelp/iis/htm/core/pareadme.htm),它是一个ISAPI应用程序,上载结束后,产生一个到ASP页的重新投递。(见 Scott Stanfield的文章 issue of MIND(98年七月))。
Software Artisans的SA-FileUp
SA-FileUp(http://www.softartisans.com/softartisans/saf.html)是最早的商业活动服务器组件(Active Server Components)之一。第一版是97年5月开始使用的,现在全世界包括Microsoft.com在内的上千个网站都在使用它。早期的Beta版本用ISAPI过滤器和活动服务器组件的联合体与ASP结合起来。接着,Microsoft推出了ASP 1.0b(ASP.DLL 1.15.14.0),提供了一种新方法:Request.BinaryRead(二进制读请求)。二进制读方法使浏览器中的原始未加工数据可以被活动服务器组件使用。这样一来,SA-FileUp就不再需要ISAPI过滤器,而作为一个ASP组件存在了。
SA-FileUp使用二进制读请求,而不是通过表单对象。这样是有意义的:你怎能一边从浏览器读原始数据流,又同时把它作为表信息来解析呢?为了照顾ASP开发人员,SA-FileUp 在它自己的表集里重新提供了所有的表请求 功能。这样使习惯于使用表请求的ASP编程人员对SA-FileUp 能够更加熟悉。
Posting Acceptor与SA-FileUp 之比较
现在就PA和SA-FileUp进行一个尽可能客观的比较:
■ 与ASP的结合性:SA-FileUp在ASP中是完全可脚本化的,它可以与ASP应用程序很好地结合起来, 而不是作为一个独立的ISAPI DLL存在。
■ 标准支持性:从IE浏览器进行PA上载要使用其特有的WebPost API,所以不如RFC1867, 使用PA,对于Netscape和IE用户要使用不同的格式。
■ 匿名连接:由于PA使用一个ISAPI DLL,在ASP应用程序以外它就必须提供额外的安全保护。因此在默认状态下PA不允许一切匿名连接。PA 1.1可以允许匿名上载,但是因为有一个上载的编程控制,这里仍然有一定的危险。由于SA-FileUp已经和ASP结合在一起,应用程序可以决定适当的安全度,包括匿名。
■ 上载控制:上载正在发送时,PA不允许任何控制。但是用SA-FileUp,可以限制上载的规模或实时决定取消上载。而最好的一点在于可以动态改变上载的位置。
相关文章
- 《无限暖暖》天星之羽获得位置介绍 12-20
- 《流放之路2》重铸台解锁方法介绍 12-20
- 《无限暖暖》瞄准那个亮亮的成就怎么做 12-20
- 《无限暖暖》魔气怪终结者完成方法 12-20
- 《无限暖暖》曙光毛团获得位置介绍 12-20
- 《无限暖暖》日光果获得位置介绍 12-20