<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<channel>
	<title>flyinweb's blog - WEB应用开发</title>
	<link>http://www.517sou.net/Folder/webdevelop/Index.aspx</link>
	<language>zh-CN</language>
	<webMaster>shanyiwan@msn.com(flyinweb)</webMaster>
	<pubDate>Mon, 15 Jun 2009 19:31:16 GMT</pubDate>
	<copyright>Copyright 2007-2009. All rights reserved.</copyright>
	<generator>Bitrac Free Version</generator>
	<description>桃李无言，下自成蹊</description>
	<image>
		<title>flyinweb&apos;s blog</title>
		<url>http://www.517sou.net/Client/Banner.gif</url>
		<link>http://www.517sou.net/</link>
		<description>桃李无言，下自成蹊</description>
	</image>
	<item>
		<link>http://www.517sou.net/Article/240.aspx</link>
		<title>Security error accessing url</title>
		<author>shanyiwan@live.com()</author>
		<category>WEB应用开发</category>
		<pubDate>Mon, 14 Sep 2009 08:42:21 GMT</pubDate>
		<description>&lt;p&gt;背景：&lt;/p&gt;&lt;h2&gt;Policy file changes in Flash Player 9 and Flash Player 10&lt;/h2&gt;&lt;p&gt;&lt;a href=&quot;http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security_03.html&quot; target=&quot;_blank&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security_03.html&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;昨天做测试的时候遇到一个问题，做好的SWF在Flash AS3中调试通过，但是发布到html中之后就无法得到数据了。查了一些资料之后找到了解决办法。这里感谢 剑心 提供帮助，以及同事若水三千提供Java代码及日志记录。&lt;/p&gt;&lt;p&gt;&lt;b&gt;1、问题描述&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 将flash发布为html格式后，加载页面后，swf无法与服务器进行socket通信。Flash端显示的错误为：&lt;br /&gt;securityErrorHandler信息: [SecurityErrorEvent type=&amp;quot;securityError&amp;quot; bubbles=false cancelable=false eventPhase=2 text=&amp;quot;Error #2048&amp;quot;]&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 在服务器端显示的信息是由客户端尝试进行连接，但是无法接受数据。接受的数据显示为空。&lt;/p&gt;&lt;p&gt;&lt;b&gt;2、问题原因：&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 最新的Flash player 9.0.124.0，当flash文件要进行socket通信的时候，需要向服务器端获取crossdomain.xml文件。如果找不到就出现客户端无法连接服务器的现象。&lt;/p&gt;&lt;p&gt;了解flash发起socket通信的三个过程&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 当封装在页面的flash发起socket通信请求的时候会先寻找服务器端的843端口，获取Crossdomain.xml文件，当服务器没有开启843的时候，flashPlayer会检查发起请求的swf文件中中有没有使用Security.loadPolicyFile来加载策略文件Crossdomain.xml，如果还是没有就会看这个发起请求的swf要连接的目标端口有没有策略文件。如果都没有那么连接失败,返回如上的出错提示。&lt;/p&gt;&lt;p&gt;为什么老版本的Flash player没有这个问题？&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 从一些官方的一些资料中了解了一下。以前的Flash Player无论你采用urlRequest的http请求方式或者xmlsocket socket方式，他们都共用一个安全策略文件。这个策略文件只要你放在主域的目录下就行了。而现在不行了，现在的策略文件如果你使用http请求方式那么需要把策略文件放在目录下面，如果你使用socket请求方式就必须通过socket端口来接收这个策略文件。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 对应调用的方式为：&lt;br /&gt;&amp;nbsp;&amp;nbsp; http请求——》Security.loadPolicyFile(“http://www.xxx.com/crossdomain.xml”)&lt;br /&gt;&amp;nbsp;&amp;nbsp; socket或xmlsocket请求——》Security.loadPolicyFile(“xmlsocket://www.xxx.com：port”)&lt;/p&gt;&lt;p&gt;怎么将Socke策略文件发给Flash Player&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; Flash Player在你的socket.connect(&amp;quot;domain&amp;quot;,port)运行之前，会按照前面描述的三个过程向你的socket服务器的843端口（据说Adobe已经向相关管理机构申请保留843端口给Flash Player用）发送一个字符串 &amp;quot;&amp;lt;policy-file-request/&amp;gt;&amp;quot;，这个时候如果你有一个服务在监听843端口那么收到这个字符串之后，直接按照XML格式发回策略文件就解决了。（注意发回的时候记得加一个截止字符&amp;quot;\0&amp;quot;）&lt;/p&gt;&lt;p&gt;当然你也可以不用843端口自己设置一个端口。因为Flash Player如果在843端口得不到信息，就会检查你是否在你的Flash文件里面自己添加了指定的获取通道，你可以定义一个自己的端口。不过这个时候你不能用http方式，而要用xmlsocket方式。（相当于自动帮你新建了一个xmlsocket对象，然后链接你指定的主机和端口）。比如你想用1234端口可以在你的Flash里面加这一句Security.loadPolicyFile(“xmlsocket://www.xxx.com:1234”)，需要注意的是这一句要加在你的socket.connect前面。&lt;/p&gt;&lt;p&gt;还有最后一个办法，就是在你的socket连接端口监听这个请求。比如你用的是socket.connect(&amp;quot;192.168.1.100&amp;quot;,8888),那么在你的服务器加一段接收字符串&amp;quot;&amp;lt;policy-file-request/&amp;gt;&amp;quot;的代码，当接到这个字符串时将策略文家按照xml格式发到客户端。&lt;/p&gt;&lt;p&gt;关于策略文件的格式（可以在Flash CS3帮助里面的Flash Player安全性——》控制权限概述中找到）&lt;/p&gt;&lt;p&gt;1、针对web应用的策略文件&lt;/p&gt;&lt;p&gt;下面的示例显示了一个策略文件，该文件允许访问源自 *.iflashigame.com 和 192.0.34.166 的 SWF 文件。&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;xml&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;version&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;cross-domain-policy&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;allow-access-from&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;domain&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;*.iflashigame.com&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;allow-access-from&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;domain&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;192.0.34.166&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;cross-domain-policy&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;注意事项：&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 默认情况下，策略文件必须命名为 crossdomain.xml，并且必须位于服务器的根目录中。但是，SWF 文件可以通过调用 Security.loadPolicyFile() 方法检查是否为其它名称或位于其它目录中。跨域策略文件仅适用于从其中加载该文件的目录及其子目录。因此，根目录中的策略文件适用于整个服务器，但是从任意子目录加载的策略文件仅适用于该目录及其子目录。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 策略文件仅影响对其所在特定服务器的访问。例如，位于 https://www.adobe.com:8080/crossdomain.xml 的策略文件只适用于在端口 8080 通过 HTTPS 对 www.adobe.com 进行的数据加载调用。&lt;/p&gt;&lt;p&gt;2、针对Socket的策略文件&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;cross-domain-policy&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;allow-access-from&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;domain&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;to-ports&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;507&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;allow-access-from&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;domain&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;*.example.com&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;to-ports&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;507,516&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;allow-access-from&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;domain&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;*.example2.com&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;to-ports&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;516-523&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;allow-access-from&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;domain&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;www.example2.com&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;to-ports&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;507,516-523&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;allow-access-from&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;domain&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;www.example3.com&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;to-ports&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;cross-domain-policy&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;这个策略文件是指定允许哪些域的主机通过那些端口链接。&lt;/p&gt;&lt;p&gt;现象：&lt;/p&gt;&lt;p&gt;跨域访问时，出现如下错误：&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;[FaultEvent fault=[RPC Fault faultString=&amp;quot;Security error accessing url&amp;quot; faultCode=&amp;quot;Channel.Security.Error&amp;quot; faultDetail=&amp;quot;Destination: DefaultHTTP&amp;quot;] messageId=&amp;quot;30264797-379F-313E-3D8A-B7ADD21393B5&amp;quot; type=&amp;quot;fault&amp;quot; bubbles=false cancelable=true eventPhase=2]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;解决办法：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;xml&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;version&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;lt;!DOCTYPE&amp;nbsp;cross-domain-policy&amp;nbsp;SYSTEM&amp;nbsp;&amp;quot;http://www.adobe.com/xml/dtds/cross-domain-policy.dtd&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;cross-domain-policy&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;site-control&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;permitted-cross-domain-policies&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;all&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;allow-access-from&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;domain&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;secure&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;allow-http-request-headers-from&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;domain&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;headers&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;cross-domain-policy&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;</description>
		<guid>http://www.517sou.net/Article/240.aspx</guid>
		<trackback:ping>http://www.517sou.net/Article/240/Trackback.ashx</trackback:ping>
		<comments>http://www.517sou.net/Article/240.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.517sou.net/Article/240/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.517sou.net/Article/120.aspx</link>
		<title>安装及配置eaccelerator加速PHP</title>
		<author>shanyiwan@live.com()</author>
		<category>WEB应用开发</category>
		<pubDate>Fri, 03 Jul 2009 23:09:11 GMT</pubDate>
		<description>&lt;p&gt;　　操作系统：Linux&lt;/p&gt;&lt;p&gt;　　安装及配置eaccelerator-0.9.5加速PHP-5.2.1&lt;br /&gt;&lt;br /&gt;&lt;b&gt;一、安装eaccelerator-0.9.5(同时支持ZendOptimizer-3.2.2)&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;　　1、首先安装ZendOptimizer-3.2.2&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;　　#&amp;nbsp;wget&amp;nbsp;http://www.vista.ac.cn/linux/down/ZendOptimizer/ZendOptimizer-3.2.2-linux-glibc21-i386.tar.gz &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　#&amp;nbsp;tar&amp;nbsp;zxvf&amp;nbsp;ZendOptimizer-3.2.2-linux-glibc21-i386.tar.gz &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　#&amp;nbsp;cd&amp;nbsp;ZendOptimizer-3.2.2-linux-glibc21-i386 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　#&amp;nbsp;./install.sh&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;　　在Please specify the location for installing ZendOptimizer:提示后输入ZendOptimizer安装路径，例如/data/webserver/zend&lt;br /&gt;　　在Confirm the location of your php.ini file:提示后输入php.ini文件所在目录，例如/data/webserver/php/etc&lt;br /&gt;　　在Specify the full path to the Apache control utility (apachectl):提示输入apachectl绝对路径，例如/data/webserver/apache/bin/apachectl&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　　2、再安装eaccelerator-0.9.5加速软件&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;　　#&amp;nbsp;wget&amp;nbsp;http://www.vista.ac.cn/linux/down/eaccelerator/eaccelerator-0.9.5.tar.bz2 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　#&amp;nbsp;tar&amp;nbsp;jxvf&amp;nbsp;eaccelerator-0.9.5.tar.bz2 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　#&amp;nbsp;cd&amp;nbsp;eaccelerator-0.9.5 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;　　指定php所在路径：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;　　#&amp;nbsp;export&amp;nbsp;PHP_PREFIX=&amp;quot;/data/webserver/php&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　#&amp;nbsp;$PHP_PREFIX/bin/phpize &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　#&amp;nbsp;./configure&amp;nbsp;--enable-eaccelerator=shared&amp;nbsp;--with-php-config=$PHP_PREFIX/bin/php-config &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　#&amp;nbsp;make &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　#&amp;nbsp;make&amp;nbsp;install&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;　　这时会将eaccelerator安装到php目录中，屏幕会显示eaccelerator.so所在路径，例如：&lt;br /&gt;　　Installing shared extensions: /data/webserver/php/lib/php/extensions/no-debug-zts-20060613/&lt;br /&gt;　　记住这个路径。&lt;br /&gt;&lt;br /&gt;　　eaccelerator即可以安装为PHP扩展，也可以安装为zend扩展，以下安装为PHP扩展。&lt;br /&gt;&lt;br /&gt;　　如果存在/etc/php.d目录，需要拷贝eaccelerator.ini到该目录下，然后修改缺省值。如果不存在，修改php.ini，在[zend]之前加入以下内容(注：必须放在[zend]之前)：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;　　[eaccelerator] &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　extension=&amp;quot;/data/webserver/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　eaccelerator.shm_size=&amp;quot;32&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　eaccelerator.cache_dir=&amp;quot;/data/cache/eaccelerator&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　eaccelerator.enable=&amp;quot;1&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　eaccelerator.optimizer=&amp;quot;1&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　eaccelerator.check_mtime=&amp;quot;1&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　eaccelerator.debug=&amp;quot;0&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　eaccelerator.filter=&amp;quot;&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　eaccelerator.shm_max=&amp;quot;0&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　eaccelerator.shm_ttl=&amp;quot;0&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　eaccelerator.shm_prune_period=&amp;quot;0&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　eaccelerator.shm_only=&amp;quot;0&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　eaccelerator.compress=&amp;quot;1&amp;quot; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　eaccelerator.compress_level=&amp;quot;9&amp;quot;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;　　建立缓存目录：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;　　#&amp;nbsp;mkdir&amp;nbsp;-p&amp;nbsp;/data/cache/eaccelerator &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　#&amp;nbsp;chmod&amp;nbsp;0777&amp;nbsp;/data/cache/eaccelerator&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;　　重启Apache：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;　　#&amp;nbsp;service&amp;nbsp;httpd&amp;nbsp;restart&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;　　3、检查ZendOptimizer和eaccelerator是否安装成功&lt;br /&gt;&lt;br /&gt;　　创建一个phpinfo.php文件，内容如下：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;　　&amp;lt;?php &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;　　&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;phpinfo(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;　　?&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;　　将该文件放置到网站目录，在浏览器中访问，如果出现以下内容则安装成功：&lt;br /&gt;　　This program makes use of the Zend Scripting Language Engine:&lt;br /&gt;　　Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies&lt;br /&gt;　　 &amp;nbsp; &amp;nbsp;with eAccelerator v0.9.5, Copyright (c) 2004-2006 eAccelerator, by eAccelerator&lt;br /&gt;　　 &amp;nbsp; &amp;nbsp;with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend Technologies&lt;br /&gt;　　 &amp;nbsp; &amp;nbsp;with Zend Optimizer v3.2.2, Copyright (c) 1998-2006, by Zend Technologies &lt;br /&gt;&lt;br /&gt;&lt;b&gt;二、eaccelerator配置信息详解(根据官方英文说明翻译)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;　　extension=&amp;quot;/data/webserver/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：PHP扩展eaccelerator.so的路径。&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.shm_size=&amp;quot;32&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：eaccelerator可使用的共享内存大小(单位为MB)。&lt;br /&gt;&lt;br /&gt;　　在Linux下，单个进程的最大内存使用量受/proc/sys/kernel/shmmax中设置的数字限制(单位为字节)，例如CentOS 4.4的shmmax默认值为33554432字节(33554432bytes/1024/1024=32MB)。&lt;br /&gt;&lt;br /&gt;　　临时更改该值：&lt;br /&gt;　　# echo 字节数 &amp;gt; /proc/sys/kernel/shmmax&lt;br /&gt;&lt;br /&gt;　　按照以上方法更改，在每次重启系统时，该值会被自动还原。如果想永久更改，可以修改/etc/sysctl.conf文件，设置：&lt;br /&gt;　　kernel.shmmax = 字节数&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.cache_dir=&amp;quot;/data/cache/eaccelerator&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：缓存路径，可以使用命令mkdir -p /data/cache/eaccelerator创建该目录，然后使用命令chmod 0777 /data/cache/eaccelerator设置该目录权限为0777&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.enable=&amp;quot;1&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：打开或者关闭eaccelerator。&amp;quot;1&amp;quot;指打开，&amp;quot;0&amp;quot;指关闭。默认值为&amp;quot;1&amp;quot;。&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.optimizer=&amp;quot;1&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：打开或者关闭代码优化，开启可以加快代码的执行速度。&amp;quot;1&amp;quot;指打开，&amp;quot;0&amp;quot;指关闭。默认值为&amp;quot;1&amp;quot;。&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.check_mtime=&amp;quot;1&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：当打开此项时，eaccelerator会在每次请求时检查php文件的修改时间，看其是否被修改过，这会耗费一点时间，如果php文件被修改过，eaccelerator会重新编译缓存该php文件。当关闭此项时，如果php文件被修改，则需要手工删除eaccelerator缓存，才能显示被修改的php文件。&amp;quot;1&amp;quot;指打开，&amp;quot;0&amp;quot;指关闭。默认值为&amp;quot;1&amp;quot;。&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.debug=&amp;quot;0&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：打开或者关闭调试记录。当打开时，eaccelerator会将对一个缓存文件的每次请求都写进log。打开此项只对调试eaccelerator是否有BUG时有益处。&amp;quot;1&amp;quot;指打开，&amp;quot;0&amp;quot;指关闭。默认值为&amp;quot;0&amp;quot;。&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.filter=&amp;quot;&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：决定哪些PHP文件应该被缓存。可以指定一个范围(比如&amp;quot;*.php *.phtml&amp;quot;)，这样被指定的文件就会被缓存。如果该范围以!开头，被指定的文件就不会被缓存。默认值为&amp;quot;&amp;quot;，表示缓存所有的PHP文件。 &lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.shm_max=&amp;quot;0&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：一个用户使用例如eaccelerator_put之类的函数能够往共享内存中加载的最大数据。默认值为&amp;quot;0&amp;quot;，表示不限制。(单位为字节)&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.shm_ttl=&amp;quot;0&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：当没有足够的空闲共享内存去尝试缓冲一个新脚本时，将删除至少在shm_ttl秒之前没有被访问过的文件。默认值为&amp;quot;0&amp;quot;，表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.shm_prune_period=&amp;quot;0&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：当没有足够的空闲共享内存去尝试缓冲一个新脚本时，将删所有旧脚本，前提是这个尝试在超过shm_prune_period秒之前被执行过。默认值为&amp;quot;0&amp;quot;，表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.shm_only=&amp;quot;0&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：打开或者关闭在磁盘上缓存编译过的脚本。这个参数对会话数据和内容缓存没有效果。默认值为&amp;quot;0&amp;quot;，表示使用磁盘和共享内存来缓存。&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.compress=&amp;quot;1&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：打开或者关闭缓存内容压缩。&amp;quot;1&amp;quot;指打开，&amp;quot;0&amp;quot;指关闭。默认值为&amp;quot;1&amp;quot;。&lt;br /&gt;&lt;br /&gt;　　--------------------&lt;br /&gt;&lt;br /&gt;　　eaccelerator.compress_level=&amp;quot;9&amp;quot;&lt;br /&gt;&lt;br /&gt;　　解释：内存压缩的级别。默认值为&amp;quot;9&amp;quot;，表示最大压缩。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　　参考资料：&lt;br /&gt;　　1、Installing from source (&lt;a href=&quot;http://www.eaccelerator.net/wiki/InstallFromSource&quot; target=&quot;_blank&quot;&gt;http://www.eaccelerator.net/wiki/InstallFromSource&lt;/a&gt;&lt;a href=&quot;http://www.eaccelerator.net/wiki/InstallFromSource)&quot; target=&quot;_blank&quot;&gt;&lt;font color=&quot;#4f6371&quot;&gt;)&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;　　2、eAccelerator settings (&lt;a href=&quot;http://www.eaccelerator.net/wiki/Settings&quot; target=&quot;_blank&quot;&gt;http://www.eaccelerator.net/wiki/Settings&lt;/a&gt;&lt;a href=&quot;http://www.eaccelerator.net/wiki/Settings)&quot; target=&quot;_blank&quot;&gt;&lt;font color=&quot;#4f6371&quot;&gt;)&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;　　[文章作者：张宴 本文版本：v1.1 最后修改：2007.03.02 转载请注明出处：&lt;a href=&quot;http://blog.s135.com/&quot; target=&quot;_blank&quot;&gt;&lt;font color=&quot;#4f6371&quot;&gt;http://blog.s135.com&lt;/font&gt;&lt;/a&gt;]&lt;br /&gt;&lt;/p&gt;</description>
		<guid>http://www.517sou.net/Article/120.aspx</guid>
		<trackback:ping>http://www.517sou.net/Article/120/Trackback.ashx</trackback:ping>
		<comments>http://www.517sou.net/Article/120.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.517sou.net/Article/120/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.517sou.net/Article/109.aspx</link>
		<title>How to implement COMET with PHP</title>
		<author>shanyiwan@live.com()</author>
		<category>WEB应用开发</category>
		<pubDate>Tue, 30 Jun 2009 02:50:06 GMT</pubDate>
		<description>&lt;h1&gt;&lt;a id=&quot;how_to_implement_comet_with_php&quot; name=&quot;how_to_implement_comet_with_php&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;How to implement COMET with PHP&lt;/font&gt;&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;level1&quot;&gt;&lt;p&gt;&lt;a class=&quot;urlextern&quot; title=&quot;http://en.wikipedia.org/wiki/Comet_(programming)&quot; href=&quot;http://en.wikipedia.org/wiki/Comet_(programming)&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;Comet&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; is a programming technique that enables web servers to send data to the client without having any need for the client to request it. This technique will produce more responsive applications than classic &lt;acronym title=&quot;Asynchronous JavaScript and XML&quot;&gt;AJAX&lt;/acronym&gt;. In classic &lt;acronym title=&quot;Asynchronous JavaScript and XML&quot;&gt;AJAX&lt;/acronym&gt; applications, web browser (client) cannot be notified in real time that the server data model has changed. The user must create a request (for example by clicking on a link) or a periodic &lt;acronym title=&quot;Asynchronous JavaScript and XML&quot;&gt;AJAX&lt;/acronym&gt; request must happen in order to get new data fro the server.&lt;/p&gt;&lt;p&gt;I will now explain how to implement Comet with &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; programming language. I will demonstrate it on two demos which uses two techniques: the first one is based on hidden ”&amp;lt;iframe&amp;gt;” and the second one is based on classic &lt;acronym title=&quot;Asynchronous JavaScript and XML&quot;&gt;AJAX&lt;/acronym&gt; non-returning request. The first demo will simply show the server date in real time on the clients and the second demo will display a mini-chat. &lt;/p&gt;&lt;/div&gt;&lt;h2&gt;&lt;a id=&quot;comet_with_iframe_technique_server_timestamp_demo&quot; name=&quot;comet_with_iframe_technique_server_timestamp_demo&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Comet with iframe technique : server timestamp demo&lt;/font&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&quot;level2&quot;&gt;&lt;p&gt;We need:&lt;/p&gt;&lt;ul&gt;&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;A &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; script that will handle the persistent http request (backend.php)&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;A &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; file that will load Javascript code and that will show the data coming from the server (index.html)&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;The &lt;a class=&quot;urlextern&quot; title=&quot;http://www.prototypejs.org/&quot; href=&quot;http://www.prototypejs.org/&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;prototype&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; library that will help us to write simple &lt;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt; code&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;To understand how it works this schema should help: &lt;br /&gt;&lt;a class=&quot;media&quot; title=&quot;articles:comet_and_php:comet.png&quot; href=&quot;/_detail/articles/comet_and_php/comet.png?id=articles%3Acomet_and_php%3Astart&quot;&gt;&lt;img title=&quot;How COMET works&quot; alt=&quot;How COMET works&quot; class=&quot;Image&quot; src=&quot;http://www.517sou.net/Attach/month_0906/6q50pl_105511_1.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;h3&gt;&lt;a id=&quot;the_backend_script_php&quot; name=&quot;the_backend_script_php&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;The backend script (PHP)&lt;/font&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div class=&quot;level3&quot;&gt;&lt;p&gt;This script will do an infinite loop and will return the server time as long as the client is connected. Call it “backend.php”:&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;lt;?php &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;header(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Cache-Control:&amp;nbsp;no-cache,&amp;nbsp;must-revalidate&amp;quot;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;header(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Expires:&amp;nbsp;Mon,&amp;nbsp;26&amp;nbsp;Jul&amp;nbsp;1997&amp;nbsp;05:00:00&amp;nbsp;GMT&amp;quot;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;flush&lt;/span&gt;&lt;span&gt;(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;?&amp;gt;&amp;lt;!DOCTYPE&amp;nbsp;html&amp;nbsp;PUBLIC&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;-//W3C//DTD&amp;nbsp;XHTML&amp;nbsp;1.1//EN&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;lt;html&amp;nbsp;xmlns=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;lt;head&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;title&amp;gt;Comet&amp;nbsp;php&amp;nbsp;backend&amp;lt;/title&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;meta&amp;nbsp;http-equiv=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Content-Type&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;content=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;text/html;&amp;nbsp;charset=utf-8&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;/&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;lt;/head&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;lt;body&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;lt;script&amp;nbsp;type=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;KHTML&amp;nbsp;browser&amp;nbsp;don&apos;t&amp;nbsp;share&amp;nbsp;javascripts&amp;nbsp;between&amp;nbsp;iframes &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;is_khtml&amp;nbsp;=&amp;nbsp;navigator.appName.match(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Konqueror&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;||&amp;nbsp;navigator.appVersion.match(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;KHTML&amp;quot;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(is_khtml) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;prototypejs&amp;nbsp;=&amp;nbsp;document.createElement(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;script&apos;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prototypejs.setAttribute(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;type&apos;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;text/javascript&apos;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prototypejs.setAttribute(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;src&apos;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;prototype.js&apos;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;head&amp;nbsp;=&amp;nbsp;document.getElementsByTagName(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;head&apos;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;head[0].appendChild(prototypejs); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;load&amp;nbsp;the&amp;nbsp;comet&amp;nbsp;object &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;comet&amp;nbsp;=&amp;nbsp;window.parent.comet; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;lt;/script&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;lt;?php &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;while&lt;/span&gt;&lt;span&gt;(1)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;echo&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;&amp;lt;script&amp;nbsp;type=&amp;quot;text/javascript&amp;quot;&amp;gt;&apos;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;echo&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;comet.printServerTime(&apos;&lt;/span&gt;&lt;span&gt;.time().&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;);&apos;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;echo&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;&amp;lt;/script&amp;gt;&apos;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;flush&lt;/span&gt;&lt;span&gt;();&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;used&amp;nbsp;to&amp;nbsp;send&amp;nbsp;the&amp;nbsp;echoed&amp;nbsp;data&amp;nbsp;to&amp;nbsp;the&amp;nbsp;client &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sleep(1);&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;a&amp;nbsp;little&amp;nbsp;break&amp;nbsp;to&amp;nbsp;unload&amp;nbsp;the&amp;nbsp;server&amp;nbsp;CPU &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;?&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;lt;/body&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;lt;/html&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;&lt;a id=&quot;the_client_script_html&quot; name=&quot;the_client_script_html&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;The client script (HTML)&lt;/font&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div class=&quot;level3&quot;&gt;&lt;p&gt;This &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; document first load the prototype library in the ”&amp;lt;head&amp;gt;” tag, then it create the tag that will contains the server timer ”&amp;lt;div id=“content”&amp;gt;&amp;lt;/div&amp;gt;”, and finally it create a “comet” javascript object that will connect the backend script to the time container tag.&lt;/p&gt;&lt;p&gt;The comet object will create some invisible “iframe” tags (depends on the web browser). These iframes are in charge to create the background persistent http connection with the backend script. Notice: this script do not handle possible connection problems between client and server.&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!DOCTYPE&amp;nbsp;html&amp;nbsp;PUBLIC&amp;nbsp;&amp;quot;-//W3C//DTD&amp;nbsp;XHTML&amp;nbsp;1.1//EN&amp;quot;&amp;nbsp;&amp;quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;html&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;xmlns&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Comet&amp;nbsp;demo&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;meta&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;http-equiv&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;Content-Type&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;content&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/html;&amp;nbsp;charset=utf-8&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;script&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;src&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;prototype.js&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;content&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;The&amp;nbsp;server&amp;nbsp;time&amp;nbsp;will&amp;nbsp;be&amp;nbsp;shown&amp;nbsp;here&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;script&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;comet&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;false, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iframediv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;false, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initialize:&amp;nbsp;function()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(navigator.appVersion.indexOf(&amp;quot;MSIE&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;For&amp;nbsp;IE&amp;nbsp;browsers &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;comet.connection&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ActiveXObject(&amp;quot;htmlfile&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.connection.open(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.connection.write(&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.connection.write(&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;document.domain&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&apos;&amp;quot;+document.domain+&amp;quot;&apos;&lt;/span&gt;&lt;span&gt;&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.connection.write(&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.connection.close(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;comet&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;comet.iframediv&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;comet.connection.createElement(&amp;quot;div&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.connection.appendChild(comet.iframediv); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;comet&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;comet.connection.parentWindow.comet&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;comet; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;comet.iframediv.innerHTML&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;&amp;lt;iframe&amp;nbsp;id=&apos;comet_iframe&apos;&amp;nbsp;src=&apos;./backend.php&apos;&amp;gt;&amp;lt;/iframe&amp;gt;&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(navigator.appVersion.indexOf(&amp;quot;KHTML&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;for&amp;nbsp;KHTML&amp;nbsp;browsers &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;comet.connection&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;document&lt;/span&gt;&lt;span&gt;.createElement(&apos;iframe&apos;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.connection.setAttribute(&apos;id&apos;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;comet_iframe&apos;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.connection.setAttribute(&apos;src&apos;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;./backend.php&apos;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with&amp;nbsp;(comet.connection.style)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;position&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;absolute&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;left&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;top&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;quot;-100px&amp;quot;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;height&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;width&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&amp;quot;1px&amp;quot;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;visibility&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.body.appendChild(comet.connection); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;For&amp;nbsp;other&amp;nbsp;browser&amp;nbsp;(Firefox...) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;comet.connection&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;document&lt;/span&gt;&lt;span&gt;.createElement(&apos;iframe&apos;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.connection.setAttribute(&apos;id&apos;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;comet_iframe&apos;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with&amp;nbsp;(comet.connection.style)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;left&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;top&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;quot;-100px&amp;quot;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;height&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;width&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&amp;quot;1px&amp;quot;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;visibility&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;display&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&apos;none&apos;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;comet.iframediv&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;document&lt;/span&gt;&lt;span&gt;.createElement(&apos;iframe&apos;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.iframediv.setAttribute(&apos;src&apos;,&amp;nbsp;&apos;./backend.php&apos;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.connection.appendChild(comet.iframediv); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.body.appendChild(comet.connection); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;this&amp;nbsp;function&amp;nbsp;will&amp;nbsp;be&amp;nbsp;called&amp;nbsp;from&amp;nbsp;backend.php&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printServerTime:&amp;nbsp;function&amp;nbsp;(time)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&apos;content&apos;)&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;.innerHTML&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;time&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;onUnload:&amp;nbsp;function()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(comet.connection)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;comet.connection&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;false&lt;/span&gt;&lt;span&gt;;&amp;nbsp;//&amp;nbsp;release&amp;nbsp;the&amp;nbsp;iframe&amp;nbsp;to&amp;nbsp;prevent&amp;nbsp;problems&amp;nbsp;with&amp;nbsp;IE&amp;nbsp;when&amp;nbsp;reloading&amp;nbsp;the&amp;nbsp;page &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;Event.observe(window,&amp;nbsp;&amp;quot;load&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;comet.initialize); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;Event.observe(window,&amp;nbsp;&amp;quot;unload&amp;quot;,&amp;nbsp;comet.onUnload); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;&lt;a id=&quot;download_it&quot; name=&quot;download_it&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Download it&lt;/font&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div class=&quot;level3&quot;&gt;&lt;p&gt;Here is the &lt;a class=&quot;media mediafile mf_gz&quot; title=&quot;articles:comet_and_php:comet-iframe.tar.gz&quot; href=&quot;/_media/articles/comet_and_php/comet-iframe.tar.gz&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;tar.gz archive&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; of this demo.&lt;/p&gt;&lt;/div&gt;&lt;h2&gt;&lt;a id=&quot;comet_with_classic_ajax_litte_chat_demo&quot; name=&quot;comet_with_classic_ajax_litte_chat_demo&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Comet with classic AJAX : litte chat demo&lt;/font&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&quot;level2&quot;&gt;&lt;p&gt;As on the above technique, we need:&lt;/p&gt;&lt;ul&gt;&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;A file to exchange data (data.txt)&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;A &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; script that will handle the persistent http request (backend.php)&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;A &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; file that will load Javascript code and that will show the data coming from the server (index.html)&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;The &lt;a class=&quot;urlextern&quot; title=&quot;http://www.prototypejs.org/&quot; href=&quot;http://www.prototypejs.org/&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;prototype&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; library that will help us to write simple &lt;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt; code&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3&gt;&lt;a id=&quot;the_backend_script_php1&quot; name=&quot;the_backend_script_php1&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;The backend script (PHP)&lt;/font&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div class=&quot;level3&quot;&gt;&lt;p&gt;This script will do two things:&lt;/p&gt;&lt;ul&gt;&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;Write into “data.txt” when new messages are sent&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;Do an infinite loop as long as “data.txt” file is unchanged&lt;/div&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;lt;?php &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$filename&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;=&amp;nbsp;dirname(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;__FILE__&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;/data.txt&apos;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;store&amp;nbsp;new&amp;nbsp;message&amp;nbsp;in&amp;nbsp;the&amp;nbsp;file &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$msg&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;isset(&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$_GET&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;msg&apos;&lt;/span&gt;&lt;span&gt;])&amp;nbsp;?&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$_GET&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;msg&apos;&lt;/span&gt;&lt;span&gt;]&amp;nbsp;:&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$msg&lt;/span&gt;&lt;span&gt;&amp;nbsp;!=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;file_put_contents&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$filename&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$msg&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;die&lt;/span&gt;&lt;span&gt;(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;infinite&amp;nbsp;loop&amp;nbsp;until&amp;nbsp;the&amp;nbsp;data&amp;nbsp;file&amp;nbsp;is&amp;nbsp;not&amp;nbsp;modified &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$lastmodif&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;isset(&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$_GET&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;timestamp&apos;&lt;/span&gt;&lt;span&gt;])&amp;nbsp;?&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$_GET&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;timestamp&apos;&lt;/span&gt;&lt;span&gt;]&amp;nbsp;:&amp;nbsp;0; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$currentmodif&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;filemtime&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$filename&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;while&lt;/span&gt;&lt;span&gt;&amp;nbsp;(&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$currentmodif&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;lt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$lastmodif&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;check&amp;nbsp;if&amp;nbsp;the&amp;nbsp;data&amp;nbsp;file&amp;nbsp;has&amp;nbsp;been&amp;nbsp;modified &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usleep(10000);&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;sleep&amp;nbsp;10ms&amp;nbsp;to&amp;nbsp;unload&amp;nbsp;the&amp;nbsp;CPU &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clearstatcache(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$currentmodif&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;filemtime&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$filename&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;return&amp;nbsp;a&amp;nbsp;json&amp;nbsp;array &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$response&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;array&lt;/span&gt;&lt;span&gt;(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$response&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;msg&apos;&lt;/span&gt;&lt;span&gt;]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;file_get_contents&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$filename&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$response&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;timestamp&apos;&lt;/span&gt;&lt;span&gt;]&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$currentmodif&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;echo&lt;/span&gt;&lt;span&gt;&amp;nbsp;json_encode(&lt;/span&gt;&lt;span class=&quot;vars&quot;&gt;$response&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;flush&lt;/span&gt;&lt;span&gt;(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;?&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3&gt;&lt;a id=&quot;the_client_script_html1&quot; name=&quot;the_client_script_html1&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;The client script (HTML)&lt;/font&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div class=&quot;level3&quot;&gt;&lt;p&gt;This &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; document first load the prototype library in the ”&amp;lt;head&amp;gt;” tag, then it create the tag ”&amp;lt;div id=“content”&amp;gt;&amp;lt;/div&amp;gt;” that will contains the chat messages comming from “data.txt” file, and finally it create a “comet” javascript object that will call the backend script in order to watch for new chat messages.&lt;/p&gt;&lt;p&gt;The comet object will send &lt;acronym title=&quot;Asynchronous JavaScript and XML&quot;&gt;AJAX&lt;/acronym&gt; requests each time a new message has been received and each time a new message is posted. The persistent connection is only used to watch for new messages. A timestamp url parameter is used to identify the last requested message, so that the server will return only when the “data.txt” timestamp is newer that the client timestamp.&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!DOCTYPE&amp;nbsp;html&amp;nbsp;PUBLIC&amp;nbsp;&amp;quot;-//W3C//DTD&amp;nbsp;XHTML&amp;nbsp;1.1//EN&amp;quot;&amp;nbsp;&amp;quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;html&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;xmlns&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Comet&amp;nbsp;demo&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;meta&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;http-equiv&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;Content-Type&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;content&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/html;&amp;nbsp;charset=utf-8&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;script&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;src&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;prototype.js&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;content&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;form&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;action&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;method&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;get&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;onsubmit&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;comet.doRequest($(&apos;word&apos;).value);$(&apos;word&apos;).value=&apos;&apos;;return&amp;nbsp;false;&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;input&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;word&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;word&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;input&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;submit&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;submit&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;Send&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;form&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;script&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;Comet&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;Class&lt;/span&gt;&lt;span&gt;.create(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;Comet.prototype&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;timestamp:&amp;nbsp;0, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;url:&amp;nbsp;&apos;./backend.php&apos;, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;noerror:&amp;nbsp;true, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;initialize:&amp;nbsp;function()&amp;nbsp;{&amp;nbsp;}, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;connect:&amp;nbsp;function() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;this.ajax&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;Ajax.Request(this.url,&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;method:&amp;nbsp;&apos;get&apos;, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parameters:&amp;nbsp;{&amp;nbsp;&apos;timestamp&apos;&amp;nbsp;:&amp;nbsp;this.timestamp&amp;nbsp;}, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;onSuccess:&amp;nbsp;function(transport)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;handle&amp;nbsp;the&amp;nbsp;server&amp;nbsp;response &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;response&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;transport&lt;/span&gt;&lt;span&gt;.responseText.evalJSON(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;this.comet.timestamp&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;response&lt;/span&gt;&lt;span&gt;[&apos;timestamp&apos;]; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.comet.handleResponse(response); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;this.comet.noerror&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;true&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;onComplete:&amp;nbsp;function(transport)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;send&amp;nbsp;a&amp;nbsp;new&amp;nbsp;ajax&amp;nbsp;request&amp;nbsp;when&amp;nbsp;this&amp;nbsp;request&amp;nbsp;is&amp;nbsp;finished &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!this.comet.noerror) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;if&amp;nbsp;a&amp;nbsp;connection&amp;nbsp;problem&amp;nbsp;occurs,&amp;nbsp;try&amp;nbsp;to&amp;nbsp;reconnect&amp;nbsp;each&amp;nbsp;5&amp;nbsp;seconds &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setTimeout(function(){&amp;nbsp;comet.connect()&amp;nbsp;},&amp;nbsp;5000);&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.comet.connect(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;this.comet.noerror&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;false&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;this.ajax.comet&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;this; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;disconnect:&amp;nbsp;function() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;handleResponse:&amp;nbsp;function(response) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&apos;content&apos;).innerHTML&amp;nbsp;+=&amp;nbsp;&apos;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&apos;&amp;nbsp;+&amp;nbsp;response[&apos;msg&apos;]&amp;nbsp;+&amp;nbsp;&apos;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&apos;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;doRequest:&amp;nbsp;function(request) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new&amp;nbsp;Ajax.Request(this.url,&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;method:&amp;nbsp;&apos;get&apos;, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parameters:&amp;nbsp;{&amp;nbsp;&apos;msg&apos;&amp;nbsp;:&amp;nbsp;request&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;comet&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;Comet(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;comet.connect(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;&lt;a id=&quot;download_it1&quot; name=&quot;download_it1&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Download it&lt;/font&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div class=&quot;level3&quot;&gt;&lt;p&gt;Here is the &lt;a class=&quot;media mediafile mf_gz&quot; title=&quot;articles:comet_and_php:comet-ajax.tar.gz&quot; href=&quot;/_media/articles/comet_and_php/comet-ajax.tar.gz&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;tar.gz archive&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; of this demo.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://www.zeitoun.net/articles/comet_and_php/start&quot; target=&quot;_blank&quot;&gt;http://www.zeitoun.net/articles/comet_and_php/start&lt;/a&gt;&lt;/p&gt;</description>
		<guid>http://www.517sou.net/Article/109.aspx</guid>
		<trackback:ping>http://www.517sou.net/Article/109/Trackback.ashx</trackback:ping>
		<comments>http://www.517sou.net/Article/109.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.517sou.net/Article/109/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.517sou.net/Article/An-Email-Program-for-Sending-SMTP-Mail-from-a-Command-Line.aspx</link>
		<title>An Email Program for Sending SMTP Mail from a Command Line</title>
		<author>shanyiwan@live.com()</author>
		<category>WEB应用开发</category>
		<pubDate>Mon, 22 Jun 2009 02:26:00 GMT</pubDate>
		<description>&lt;p&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;About SendEmail&lt;/span&gt;&lt;br /&gt;SendEmail is a lightweight, &lt;span title=&quot;console&quot;&gt;command line&lt;/span&gt; SMTP email client. If you have the need to send email from a command line, this free program is perfect: simple to use and feature rich. It was designed to be used in bash scripts, batch files, Perl programs and web sites, but is quite adaptable and will likely meet your requirements. SendEmail is written in Perl and is unique in that it requires NO MODULES. It has an intuitive and flexible set of command-line options, making it very easy to learn and use.&lt;br /&gt;[Supported Platforms: Linux, BSD, OS X, Windows 98, Windows NT, Windows 2000, &amp;amp; Windows XP]&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;Download&lt;/span&gt;&lt;/p&gt;&lt;dl&gt;&lt;dd&gt;&lt;strong&gt;Official Release:&lt;/strong&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.55.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(27kb Dec 13th, 2006)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/CHANGELOG&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;Changelog&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.517sou.net/Attach/month_0906/w4uae2_102953_1.jpg&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;Screen Shot&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Windows Executable:&lt;/strong&gt;&lt;br /&gt;Free sendEmail.exe for Windows. To use simply run sendEmail.exe from a console / command line.&lt;br /&gt;&lt;span style=&quot;padding-left: 50px;&quot;&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v155.zip&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#810081&quot;&gt;sendEmail-v155.zip&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(1.4mb Dec 21st, 2006)&amp;nbsp;&amp;nbsp;&amp;nbsp;TLS supported&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;padding-left: 50px;&quot;&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v155-notls.zip&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v155-notls.zip&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(674kb Dec 21st, 2006)&amp;nbsp;&amp;nbsp;&amp;nbsp;No TLS support&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;RPM Package:&lt;/strong&gt;&lt;a href=&quot;http://www.invoca.ch/pub/packages/sendemail/&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail rpm&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Command Line Options&lt;br /&gt;SendEmail has the following command line options:&lt;br /&gt;&lt;img height=&quot;632&quot; border=&quot;0&quot; width=&quot;559&quot; src=&quot;http://www.517sou.net/Attach/month_0906/x90q7r_103003_2.jpg&quot; alt=&quot;sendEmail command line options&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;How do I install it?&lt;/span&gt;&lt;br /&gt;Simply download, extract, and run &amp;quot;sendEmail&amp;quot; from a command prompt, it will give a usage summary. It is written in Perl, so no compilation needed. On a unix system if your perl binary is not installed at /usr/bin/perl you may need to edit the first line of the script. If you&apos;re running a Microsoft OS you may need to put a .pl extension on sendEmail so Windows will know to associate it with perl.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;TLS Support&lt;/span&gt;&lt;br /&gt;Starting with sendEmail v1.54, TLS support is included! To enable TLS support simply install the &lt;strong&gt;Net::SSLeay&lt;/strong&gt; and &lt;strong&gt;IO::Socket::SSL&lt;/strong&gt; perl modules. The following new command line parameters are now available:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;-o tls=auto&lt;/strong&gt; This is the default, TLS will be used if possible.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;-o tls=yes&lt;/strong&gt; Use this to require TLS for message delivery.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;-o tls=no&lt;/strong&gt; Use this to disable TLS support.&lt;br /&gt;If TLS is giving strange errors, try upgrading the Net::SSLeay and IO::Socket::SSL perl modules. Please do NOT report TLS bugs unless you have already done this! If you&apos;re running up-to-date versions of these modules and you are getting TLS errors, your detailed bug report will be appreciated. Yes, you can finally use SendEmail to send messages to your GMail account :)&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;Why not use sendmail?&lt;/span&gt;&lt;br /&gt;Sendmail is a large and complex mail server. Installing this kind of mail software on servers (unless it&apos;s a mail server) is more of a security risk than it&apos;s worth. Not to mention it can be a real pain messing with configuration files and such. Systems need another simpler way to send email from the command prompt, and sendEmail provides this functionality. Its a simple, direct way to send email without the overhead of other conventional email software.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;How can I send anonymous email?&lt;/span&gt;&lt;br /&gt;SendEmail was not intended to be used for malicious purposes, like sending spam! However, there are often legitimate reasons to send email anonymously. I use the term &amp;quot;anonymous&amp;quot; to mean sending email from an address that isn&apos;t normally associated with just you. For example, sendEmail is a great script for emailing company newsletters where you want to send email from an &amp;quot;anonymous&amp;quot; account like newsletter@yourdomain.com.&lt;br /&gt;To send &amp;quot;anonymous&amp;quot; email from a CLI with sendEmail, simply specify a from address that you want to use with the -f option, and unless your ISP&apos;s SMTP email server is picky, it will accept and deliver it.&lt;br /&gt;&lt;a name=&quot;Use sendEmail to send anonymous email&quot; href=&quot;http://www.517sou.net/Editor/&quot; onclick=&quot;document.getElementById(&apos;send_anonymous_email_details&apos;).style.display=&apos;block&apos;; this.style.display=&apos;none&apos;; return(false);&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;View Example&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&lt;pre id=&quot;send_anonymous_email_details&quot; style=&quot;border: 1px dotted rgb(190, 204, 255); display: none;&quot;&gt;
$ sendEmail \
    -f newsletter@somedomain.com \
    -t &amp;quot;Newsletter &amp;lt;newsletter@somedomain.com&amp;gt;&amp;quot; \
    -bcc \
        subscriber@a.com \
        subscriber@b.com \
        subscriber@c.com \
    -u Monthly Newsletter \
    -m This is your monthly newsletter.  To unsubscribe click here. \
    -s mail.yourisp.net
&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;Encrypted Email&lt;/span&gt;&lt;br /&gt;Thomas Jens Lauritsen has provided instructions on how to send SMIME signed email messages with sendEmail:&lt;br /&gt;&lt;a name=&quot;Use sendEmail to send SMIME encrypted email messages&quot; href=&quot;http://www.517sou.net/Editor/&quot; onclick=&quot;document.getElementById(&apos;encrypted_email_details&apos;).style.display=&apos;block&apos;; this.style.display=&apos;none&apos;; return(false);&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;View Details&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&lt;pre id=&quot;encrypted_email_details&quot; style=&quot;border: 1px dotted rgb(190, 204, 255); display: none;&quot;&gt;
## Sign the message with openssl
$ openssl smime -in myMessage.txt \
                 -text \
                 -sign \
                 -signer newcert.pem \
                 -inkey newreq.pem \
                 -from &amp;quot;Somebody &amp;lt;anybody@mydomain.dk&amp;gt;&amp;quot; \
                 -to somebody@mydomain.dk \
                 -subject &amp;quot;TEST MESSAGE SIGNED  \
                 &amp;gt; signed_message ## Send the message
$ cat signed_message | sendEmail -o message-format=raw \
                                  -t somebody@mydomain.dk \
                                  -f someoneelse@somedomain.dk \
                                  -s gatewayserver
&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;SendEmail on the Net&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a name=&quot;sendEmail&apos;s entry on freshmeat.net&quot; href=&quot;http://freshmeat.net/projects/sendemail/&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;Freshmeat&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name=&quot;sendEmail&apos;s entry on hotscripts.com&quot; href=&quot;http://hotscripts.com/Detailed/4767.html&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;Hotscripts&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name=&quot;sendEmail on Free Software Foundation&apos;s site&quot; href=&quot;http://directory.fsf.org/all/sendEmail.html&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;FSF&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name=&quot;send email on Debian Linux&quot; href=&quot;http://packages.debian.org/unstable/mail/sendemail&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;For Debian&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name=&quot;send email on Gentoo Linux&quot; href=&quot;http://gentoo-portage.com/net-mail/sendEmail&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;For Gentoo&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name=&quot;send email on FreeBSD&quot; href=&quot;http://portsmon.freebsd.org/portoverview.py?category=net&amp;amp;portname=sendemail&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;For FreeBSD&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name=&quot;send email on Mac OS X&quot; href=&quot;http://sendemail.darwinports.com/&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;For OS X&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;Download Previous Releases&lt;/span&gt;&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;&lt;strong&gt;Version 1.5x -- Large portions rewrote again, many enhancements.&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.55.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(27kb Dec 13th, 2006)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v155-notls.zip&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v155.zip (No TLS Support)&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(674kb)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v155.zip&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#810081&quot;&gt;sendEmail-v155.zip (With TLS Support)&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(1.4mb)&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.54.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.54.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(26kb Oct 28th, 2006)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v154.zip&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v154.zip&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(702kb)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.517sou.net/Attach/month_0906/w4uae2_102953_1.jpg&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;Screen Shot&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;STABLE&lt;/strong&gt;&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.52.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.52.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(23kb Feb 19th, 2005)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v152.zip&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v152.zip&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(635kb)&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.51.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.51.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(23kb Dec 2nd, 2004)&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.50.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.50.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(22kb Sep 30th, 2004)&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;dl&gt;&lt;dt&gt;&lt;strong&gt;Version 1.4x -- Rewrite, fix logging, general cleanup&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.42.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.42.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(15.2kb Jun 6th, 2003)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.42.zip&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.42.zip&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(406.8kb)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;STABLE&lt;/strong&gt;&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.41.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.41.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(14.8kb Apr 22nd, 2003)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.41.zip&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.41.zip&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(406.6kb)&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.40.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.40.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(14.5kb Dec 4th, 2002)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.40.zip&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.40.zip&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(406.8kb)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.517sou.net/Attach/month_0906/gtzz6k_103038_4.png&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;Screen Shot&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;dl&gt;&lt;dt&gt;&lt;strong&gt;Version 1.3x -- File attachment support&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.33.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.33.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(10.0kb Apr 16th, 2001)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.33_win32-binary.zip&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.33.zip&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(422.5kb)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;STABLE&lt;/strong&gt;&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.32.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.32.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(9.0kb Aug 18th, 2000)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.32_win32-binary.zip&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.32.zip&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(447.2kb)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.517sou.net/Attach/month_0906/bnkaq5_103051_5.png&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;Screen Shot&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.31.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.31.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(8.8kb Aug 9th, 2000)&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.30.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.30.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(8.9kb Aug 1st, 2000)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.517sou.net/Attach/month_0906/idru22_103051_6.jpg&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;Screen Shot&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;dl&gt;&lt;dt&gt;&lt;strong&gt;Version 1.2x -- Lots of features (usability enhancements)&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.22.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.22.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(5.3kb Jul 8th, 2000)&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.21.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.21.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(4.7kb May 15th, 2000)&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.20.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.20.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(4.4kb May 10th, 2000)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.517sou.net/Attach/month_0906/p5lgko_103055_7.jpg&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;Screen Shot&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;dl&gt;&lt;dt&gt;&lt;strong&gt;Version 1.0x -- Basic email sending capabilities&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.01.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.01.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(2.4kb Apr 27, 2000)&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.00.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v1.00.tar.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(2.1kb)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.517sou.net/Attach/month_0906/2qq60h_103059_8.jpg&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;Screen Shot&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v0.97.gz&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;sendEmail-v0.97.gz&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(1.7kb)&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;&lt;a href=&quot;http://caspian.dotconf.net/menu/Software/SendEmail/&quot; target=&quot;_blank&quot;&gt;http://caspian.dotconf.net/menu/Software/SendEmail/&lt;/a&gt;&lt;/p&gt;</description>
		<guid>http://www.517sou.net/Article/An-Email-Program-for-Sending-SMTP-Mail-from-a-Command-Line.aspx</guid>
		<trackback:ping>http://www.517sou.net/Article/90/Trackback.ashx</trackback:ping>
		<comments>http://www.517sou.net/Article/An-Email-Program-for-Sending-SMTP-Mail-from-a-Command-Line.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.517sou.net/Article/90/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.517sou.net/Article/83.aspx</link>
		<title>Asp无组件上传带进度条演示及源码</title>
		<author>shanyiwan@live.com()</author>
		<category>WEB应用开发</category>
		<pubDate>Sun, 21 Jun 2009 14:28:23 GMT</pubDate>
		<description>&lt;p&gt;&lt;strong&gt;提交页面&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;script&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;language&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;javascript&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;oXMLDoc&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ActiveXObject(&amp;quot;Microsoft.XMLDOM&amp;quot;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//创建&apos;MSXML&apos;对象 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;attribute&quot;&gt;oXMLDoc.async&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;true&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;theUniqueID&lt;/span&gt;&lt;span&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;0&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;iTimerID&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;null&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//这个变量是作定时器的ID &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;//让数据提交的同时执行显示进度条的函数 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;function&amp;nbsp;UploadData()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;theUniqueID&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;(new&amp;nbsp;Date()).getTime()&amp;nbsp;%&amp;nbsp;1000000000; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;清除原始数据 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;PercentDone.style.width&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;0%&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;ElapsedTime.innerHTML&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;TimeLeft.innerHTML&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;SizeCompleted.innerHTML&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;TotalSize.innerHTML&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;TransferRate.innerHTML&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;document.myform.action&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;demo.asp?ProgressID=&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;+&amp;nbsp;theUniqueID;&amp;nbsp;&amp;nbsp;//处理上传数据的程序 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//将提交的数据放在一个名字是upload隐藏的iframe里面处理，这样提交的页面就不会跳转到处理数据的页 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;document.myform.target&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;upload&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.myform.submit();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//提交表单 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProgressBar();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//开始执行反映上传情况的函数 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;function&amp;nbsp;ProgressBar() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;sURL&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;Progress_Xml.asp?ProgressID=&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;+&amp;nbsp;theUniqueID&amp;nbsp;+&amp;nbsp;&amp;quot;&amp;amp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;temp&lt;/span&gt;&lt;span&gt;=&amp;quot;+Math.random();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//获取上传状态数据的地址 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;oXMLDoc.onreadystatechange&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;Function&lt;/span&gt;&lt;span&gt;(&amp;nbsp;&amp;quot;fnLoadComplete();&amp;quot;&amp;nbsp;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oXMLDoc.load(&amp;nbsp;sURL&amp;nbsp;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;function&amp;nbsp;fnLoadComplete() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;iReadyState； &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;iReadyState&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;oXMLDoc&lt;/span&gt;&lt;span&gt;.readyState; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch(e) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(&amp;nbsp;&amp;nbsp;iReadyState&amp;nbsp;!=&amp;nbsp;4&amp;nbsp;)&amp;nbsp;return; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;oXMLDoc&lt;/span&gt;&lt;span&gt;&amp;nbsp;==&amp;nbsp;null&amp;nbsp;||&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;oXMLDoc.xml&lt;/span&gt;&lt;span&gt;&amp;nbsp;==&amp;nbsp;&amp;quot;&amp;quot;&amp;nbsp;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;window.status&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&apos;Xml&amp;nbsp;load&amp;nbsp;fault&apos;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;oRoot&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;oXMLDoc&lt;/span&gt;&lt;span&gt;.documentElement;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//获取返回xml数据的根节点 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(oRoot&amp;nbsp;!=&amp;nbsp;null)&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(oRoot.selectSingleNode(&amp;quot;ErrorMessage&amp;quot;)&amp;nbsp;==&amp;nbsp;null) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;readyState&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;oRoot&lt;/span&gt;&lt;span&gt;.selectSingleNode(&amp;quot;ReadyState&amp;quot;).text; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;如果还没初始化完成，继续 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;readyState&lt;/span&gt;&lt;span&gt;&amp;nbsp;==&amp;nbsp;&amp;quot;uninitialized&amp;quot;&amp;nbsp;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;iTimerID&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;setTimeout&lt;/span&gt;&lt;span&gt;(&amp;quot;ProgressBar()&amp;quot;,&amp;nbsp;1000);&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;上传进行中 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;readyState&lt;/span&gt;&lt;span&gt;&amp;nbsp;==&amp;nbsp;&amp;quot;loading&amp;quot;&amp;nbsp;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//文件上传结束就取消定时器 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;bar1.style.display&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&apos;block&apos;&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;//让显示上传进度显示的层的可见 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;PercentDone.style.width&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;oRoot&lt;/span&gt;&lt;span&gt;.selectSingleNode(&amp;quot;Percentage&amp;quot;).text;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//设置进度条的百分比例 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//根据返回的数据在客户端显示 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;ElapsedTime.innerHTML&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;oRoot&lt;/span&gt;&lt;span&gt;.selectSingleNode(&amp;quot;ElapsedTime&amp;quot;).text;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//显示剩余时间 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;TimeLeft.innerHTML&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;oRoot&lt;/span&gt;&lt;span&gt;.selectSingleNode(&amp;quot;TimeLeft&amp;quot;).text;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//显示剩余时间 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;SizeCompleted.innerHTML&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;oRoot&lt;/span&gt;&lt;span&gt;.selectSingleNode(&amp;quot;SizeCompleted&amp;quot;).text;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//已上传数据大小 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;TotalSize.innerHTML&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;oRoot&lt;/span&gt;&lt;span&gt;.selectSingleNode(&amp;quot;TotalSize&amp;quot;).text;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//总大小 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;TransferRate.innerHTML&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;oRoot&lt;/span&gt;&lt;span&gt;.selectSingleNode(&amp;quot;TransferRate&amp;quot;).text;&amp;nbsp;//传输速率 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//这里设定时间间隔是0.5秒，你也可以根据你的情况修改获取数据时间间隔 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;iTimerID&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;setTimeout&lt;/span&gt;&lt;span&gt;(&amp;quot;ProgressBar()&amp;quot;,&amp;nbsp;100);&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;上传结束 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;readyState&lt;/span&gt;&lt;span&gt;&amp;nbsp;==&amp;nbsp;&amp;quot;loaded&amp;quot;&amp;nbsp;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;PercentDone.style.width&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;100%&amp;quot;&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//设置进度条的百分比例 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(iTimerID&amp;nbsp;!=&amp;nbsp;null) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clearTimeout(iTimerID) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;iTimerID&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;null&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&amp;quot;上传结束，服务器处理中...&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;上传结束 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;PercentDone.style.width&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;100%&amp;quot;&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//设置进度条的百分比例 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(iTimerID&amp;nbsp;!=&amp;nbsp;null) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clearTimeout(iTimerID) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;iTimerID&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;null&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&amp;quot;上传结束&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(oRoot.selectSingleNode(&amp;quot;ErrorMessage&amp;quot;).text); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;upload.location.href&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;about:blank&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;function&amp;nbsp;CacelUpload() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;upload.location.href&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;about:blank&amp;quot;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(iTimerID&amp;nbsp;!=&amp;nbsp;null) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clearTimeout(iTimerID) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;iTimerID&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;null&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;bar1.style.display&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;base&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;target&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;_blank&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;form&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;myform&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;method&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;post&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;action&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;demo.asp&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;enctype&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;multipart/form-data&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;target&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;upload&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;h2&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Asp无组件上传带进度条&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;h2&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;HR&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;上传测试：&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;BR&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;input&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;file&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;filefield1&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;(请上传小于10MB的文件)&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;br&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;input&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;button&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;上传&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;onclick&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;UploadData()&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;input&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;button&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;取消上传&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;onclick&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;CacelUpload()&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;br&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;bar1&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;style&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;display:&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;table&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;border&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;width&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;100%&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;传送:&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;bgcolor&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;#999999&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;table&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;border&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;width&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;cellspacing&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;bgcolor&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;#0033FF&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;PercentDone&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;table&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;border&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;cellpadding&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;cellspacing&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;总&amp;nbsp;大&amp;nbsp;小:&amp;amp;nbsp&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;TotalSize&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;已经上传:&amp;amp;nbsp&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;SizeCompleted&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;平均速率:&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;TransferRate&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;使用时间:&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;ElapsedTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;剩余时间:&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;TimeLeft&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;iframe&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;upload&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;style&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;width:100%&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;iframe&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;form&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;b&gt;demo.asp&lt;/b&gt;&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-vb&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!--&amp;nbsp;#include&amp;nbsp;file=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Upload.asp&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;--&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;lt;% &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;Server.ScriptTimeout&amp;nbsp;=&amp;nbsp;9999 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;set&amp;nbsp;Upload&amp;nbsp;=&amp;nbsp;new&amp;nbsp;DoteyUpload &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;Upload.MaxTotalBytes&amp;nbsp;=&amp;nbsp;10&amp;nbsp;*1024&amp;nbsp;*1024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;最大10MB &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;Upload.ProgressID&amp;nbsp;=&amp;nbsp;Request.QueryString(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ProgressID&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;Upload.Upload()&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;上传演示，不保存到硬盘 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;Request.TotalBytes&amp;nbsp;&amp;gt;&amp;nbsp;10&amp;nbsp;*1024&amp;nbsp;*1024&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;不要上传超过10MB的文件&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;Upload.ErrMsg&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;then&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write(Upload.ErrMsg) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;Upload.Files.Count&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;then &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Items&amp;nbsp;=&amp;nbsp;Upload.Files.Items &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;Response.Write(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;您已上传&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;Upload.Files.Count&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;个文件到:&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;path&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;lt;hr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;for&amp;nbsp;each&amp;nbsp;File&amp;nbsp;in&amp;nbsp;Upload.Files.Items &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;文件名:&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;File.FileName&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;文件大小:&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;File.FileSize/1024&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;KB&amp;lt;br&amp;gt;&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;文件类型:&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;File.FileType&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;客户端路径:&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;File.FilePath&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;lt;hr&amp;gt;&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;next &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;Response.Write(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;%&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;strong&gt;upload.asp&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-vb&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;lt;% &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;comment&quot;&gt;&apos;----------------------------------------------------- &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;描述:&amp;nbsp;Asp无组件上传带进度条 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;作者:&amp;nbsp;宝玉(www.webuc.net) &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;链接:&amp;nbsp;www.pspsoft.com,&amp;nbsp;www.cnforums.net,&amp;nbsp;blog.joycode.com,&amp;nbsp;www.cnblogs.com,&amp;nbsp;www.51js.com &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;版本:&amp;nbsp;1.0&amp;nbsp;Beta &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;版权:&amp;nbsp;本作品可免费使用，但是请勿移除版权信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;推荐:&amp;nbsp;asp.net上传组件(http://www.upload4asp.net/) &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;comment&quot;&gt;&apos;----------------------------------------------------- &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;DoteyUpload_SourceData &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;Class&lt;/span&gt;&lt;span&gt;&amp;nbsp;DoteyUpload &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;Files &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;Form &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;MaxTotalBytes &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;Version &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;ProgressID &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;ErrMsg &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;BytesRead &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;ChunkReadSize &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;Info &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;Progress &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;UploadProgressInfo &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;CrLf &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;Class_Initialize() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;Files&amp;nbsp;=&amp;nbsp;Server.CreateObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Scripting.Dictionary&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;上传文件集合 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;Form&amp;nbsp;=&amp;nbsp;Server.CreateObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Scripting.Dictionary&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;表单集合 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UploadProgressInfo&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;DoteyUploadProgressInfo&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;Application的Key &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MaxTotalBytes&amp;nbsp;=&amp;nbsp;1&amp;nbsp;*1024&amp;nbsp;*1024&amp;nbsp;*1024&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;默认最大1G &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ChunkReadSize&amp;nbsp;=&amp;nbsp;64&amp;nbsp;*&amp;nbsp;1024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;分块大小64K &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CrLf&amp;nbsp;=&amp;nbsp;Chr(13)&amp;nbsp;&amp;amp;&amp;nbsp;Chr(10)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;换行 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;DoteyUpload_SourceData&amp;nbsp;=&amp;nbsp;Server.CreateObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ADODB.Stream&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DoteyUpload_SourceData.Type&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;二进制流 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DoteyUpload_SourceData.Open &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Version&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;1.0&amp;nbsp;Beta&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;版本 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ErrMsg&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;错误信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;Progress&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;New&lt;/span&gt;&lt;span&gt;&amp;nbsp;ProgressInfo &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;将文件根据其文件名统一保存在某路径下 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;SaveTo(path) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Upload()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;上传 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;right(path,1)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;/&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;then&amp;nbsp;path&amp;nbsp;=&amp;nbsp;path&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;/&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;遍历所有已上传文件 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;For&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Each&lt;/span&gt;&lt;span&gt;&amp;nbsp;fileItem&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;In&lt;/span&gt;&lt;span&gt;&amp;nbsp;Files.Items&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileItem.SaveAs&amp;nbsp;path&amp;nbsp;&amp;amp;&amp;nbsp;fileItem.FileName &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Next&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;保存结束后更新进度信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Progress.ReadyState&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;complete&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;上传结束 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UpdateProgressInfo&amp;nbsp;progressID &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;分析上传的数据，并保存到相应集合中 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;Upload&amp;nbsp;() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;TotalBytes,&amp;nbsp;Boundary &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TotalBytes&amp;nbsp;=&amp;nbsp;Request.TotalBytes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;总大小 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;TotalBytes&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Raise(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;无数据传入&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Exit&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;TotalBytes&amp;nbsp;&amp;gt;&amp;nbsp;MaxTotalBytes&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Raise(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;您当前上传大小为&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;TotalBytes/1000&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;K，最大允许为&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;MaxTotalBytes/1024&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;K&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Exit&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Boundary&amp;nbsp;=&amp;nbsp;GetBoundary() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;IsNull(Boundary)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Raise(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;如果form中没有包括multipart/form-data上传是无效的&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Exit&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&apos;如果form中没有包括multipart/form-data上传是无效的 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Boundary&amp;nbsp;=&amp;nbsp;StringToBinary(Boundary) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Progress.ReadyState&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;loading&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;开始上传 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Progress.TotalBytes&amp;nbsp;=&amp;nbsp;TotalBytes &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UpdateProgressInfo&amp;nbsp;progressID &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;DataPart,&amp;nbsp;PartSize &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BytesRead&amp;nbsp;=&amp;nbsp;0 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;循环分块读取 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Do&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;While&lt;/span&gt;&lt;span&gt;&amp;nbsp;BytesRead&amp;nbsp;&amp;lt;&amp;nbsp;TotalBytes &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;分块读取 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PartSize&amp;nbsp;=&amp;nbsp;ChunkReadSize &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;PartSize&amp;nbsp;+&amp;nbsp;BytesRead&amp;nbsp;&amp;gt;&amp;nbsp;TotalBytes&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;PartSize&amp;nbsp;=&amp;nbsp;TotalBytes&amp;nbsp;-&amp;nbsp;BytesRead &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataPart&amp;nbsp;=&amp;nbsp;Request.BinaryRead(PartSize) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BytesRead&amp;nbsp;=&amp;nbsp;BytesRead&amp;nbsp;+&amp;nbsp;PartSize &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DoteyUpload_SourceData.Write&amp;nbsp;DataPart &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Progress.UploadedBytes&amp;nbsp;=&amp;nbsp;BytesRead &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Progress.LastActivity&amp;nbsp;=&amp;nbsp;Now() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;更新进度信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UpdateProgressInfo&amp;nbsp;progressID &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Loop&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;上传结束后更新进度信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Progress.ReadyState&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;loaded&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;上传结束 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UpdateProgressInfo&amp;nbsp;progressID &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;Binary &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DoteyUpload_SourceData.Position&amp;nbsp;=&amp;nbsp;0 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Binary&amp;nbsp;=&amp;nbsp;DoteyUpload_SourceData.Read &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;BoundaryStart,&amp;nbsp;BoundaryEnd,&amp;nbsp;PosEndOfHeader,&amp;nbsp;IsBoundaryEnd &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;Header,&amp;nbsp;bFieldContent &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;FieldName &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;File &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;TwoCharsAfterEndBoundary &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BoundaryStart&amp;nbsp;=&amp;nbsp;InStrB(Binary,&amp;nbsp;Boundary) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BoundaryEnd&amp;nbsp;=&amp;nbsp;InStrB(BoundaryStart&amp;nbsp;+&amp;nbsp;LenB(Boundary),&amp;nbsp;Binary,&amp;nbsp;Boundary,&amp;nbsp;0) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Do&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;While&lt;/span&gt;&lt;span&gt;&amp;nbsp;(BoundaryStart&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;And&lt;/span&gt;&lt;span&gt;&amp;nbsp;BoundaryEnd&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;And&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;IsBoundaryEnd) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;获取表单头的结束位置 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PosEndOfHeader&amp;nbsp;=&amp;nbsp;InStrB(BoundaryStart&amp;nbsp;+&amp;nbsp;LenB(Boundary),&amp;nbsp;Binary,&amp;nbsp;StringToBinary(vbCrLf&amp;nbsp;+&amp;nbsp;vbCrLf)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;分离表单头信息，类似于： &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;Content-Disposition:&amp;nbsp;form-data;&amp;nbsp;name=&amp;quot;file1&amp;quot;;&amp;nbsp;filename=&amp;quot;G:\homepage.txt&amp;quot; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;Content-Type:&amp;nbsp;text/plain &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Header&amp;nbsp;=&amp;nbsp;BinaryToString(MidB(Binary,&amp;nbsp;BoundaryStart&amp;nbsp;+&amp;nbsp;LenB(Boundary)&amp;nbsp;+&amp;nbsp;2,&amp;nbsp;PosEndOfHeader&amp;nbsp;-&amp;nbsp;BoundaryStart&amp;nbsp;-&amp;nbsp;LenB(Boundary)&amp;nbsp;-&amp;nbsp;2)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;分离表单内容 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bFieldContent&amp;nbsp;=&amp;nbsp;MidB(Binary,&amp;nbsp;(PosEndOfHeader&amp;nbsp;+&amp;nbsp;4),&amp;nbsp;BoundaryEnd&amp;nbsp;-&amp;nbsp;(PosEndOfHeader&amp;nbsp;+&amp;nbsp;4)&amp;nbsp;-&amp;nbsp;2) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FieldName&amp;nbsp;=&amp;nbsp;GetFieldName(Header) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;如果是附件 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;InStr&amp;nbsp;(Header,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;filename=&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;File&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;New&lt;/span&gt;&lt;span&gt;&amp;nbsp;FileInfo &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;获取文件相关信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;clientPath &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clientPath&amp;nbsp;=&amp;nbsp;GetFileName(Header) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File.FileName&amp;nbsp;=&amp;nbsp;GetFileNameByPath(clientPath) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File.FileExt&amp;nbsp;=&amp;nbsp;GetFileExt(clientPath) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File.FilePath&amp;nbsp;=&amp;nbsp;clientPath &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File.FileType&amp;nbsp;=&amp;nbsp;GetFileType(Header) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File.FileStart&amp;nbsp;=&amp;nbsp;PosEndOfHeader&amp;nbsp;+&amp;nbsp;3 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File.FileSize&amp;nbsp;=&amp;nbsp;BoundaryEnd&amp;nbsp;-&amp;nbsp;(PosEndOfHeader&amp;nbsp;+&amp;nbsp;4)&amp;nbsp;-&amp;nbsp;2 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File.FormName&amp;nbsp;=&amp;nbsp;FieldName &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;如果该文件不为空并不存在该表单项保存之 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;Files.Exists(FieldName)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;And&lt;/span&gt;&lt;span&gt;&amp;nbsp;File.FileSize&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Files.Add&amp;nbsp;FieldName,&amp;nbsp;File &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;表单数据&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;允许同名表单 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;Form.Exists(FieldName)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Form(FieldName)&amp;nbsp;=&amp;nbsp;Form(FieldName)&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;,&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;BinaryToString(bFieldContent) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Form.Add&amp;nbsp;FieldName,&amp;nbsp;BinaryToString(bFieldContent) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;是否结束位置 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TwoCharsAfterEndBoundary&amp;nbsp;=&amp;nbsp;BinaryToString(MidB(Binary,&amp;nbsp;BoundaryEnd&amp;nbsp;+&amp;nbsp;LenB(Boundary),&amp;nbsp;2)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsBoundaryEnd&amp;nbsp;=&amp;nbsp;TwoCharsAfterEndBoundary&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;--&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;IsBoundaryEnd&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;如果不是结尾,&amp;nbsp;继续读取下一块 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BoundaryStart&amp;nbsp;=&amp;nbsp;BoundaryEnd &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BoundaryEnd&amp;nbsp;=&amp;nbsp;InStrB(BoundaryStart&amp;nbsp;+&amp;nbsp;LenB(Boundary),&amp;nbsp;Binary,&amp;nbsp;Boundary) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Loop&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;解析文件结束后更新进度信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Progress.UploadedBytes&amp;nbsp;=&amp;nbsp;TotalBytes &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Progress.ReadyState&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;interactive&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;解析文件结束 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UpdateProgressInfo&amp;nbsp;progressID &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;异常信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;Raise(Message) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ErrMsg&amp;nbsp;=&amp;nbsp;ErrMsg&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;[&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;Now&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;]&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;Message&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;lt;BR&amp;gt;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Progress.ErrorMessage&amp;nbsp;=&amp;nbsp;Message &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UpdateProgressInfo&amp;nbsp;ProgressID &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;call&amp;nbsp;Err.Raise(vbObjectError,&amp;nbsp;&amp;quot;DoteyUpload&amp;quot;,&amp;nbsp;Message) &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;取边界值 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;GetBoundary() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;ContentType,&amp;nbsp;ctArray,&amp;nbsp;bArray &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ContentType&amp;nbsp;=&amp;nbsp;Request.ServerVariables(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;HTTP_CONTENT_TYPE&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ctArray&amp;nbsp;=&amp;nbsp;Split(ContentType,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;;&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;Trim(ctArray(0))&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;multipart/form-data&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bArray&amp;nbsp;=&amp;nbsp;Split(Trim(ctArray(1)),&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;=&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetBoundary&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;--&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;Trim(bArray(1)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;如果form中没有包括multipart/form-data上传是无效的 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetBoundary&amp;nbsp;=&amp;nbsp;null &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Raise(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;如果form中没有包括multipart/form-data上传是无效的&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;将二进制流转化成文本 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;BinaryToString(xBinary) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;Binary &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;vartype(xBinary)&amp;nbsp;=&amp;nbsp;8&amp;nbsp;then&amp;nbsp;Binary&amp;nbsp;=&amp;nbsp;MultiByteToBinary(xBinary)&amp;nbsp;else&amp;nbsp;Binary&amp;nbsp;=&amp;nbsp;xBinary &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;RS,&amp;nbsp;LBinary &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Const&lt;/span&gt;&lt;span&gt;&amp;nbsp;adLongVarChar&amp;nbsp;=&amp;nbsp;201 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;RS&amp;nbsp;=&amp;nbsp;CreateObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ADODB.Recordset&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LBinary&amp;nbsp;=&amp;nbsp;LenB(Binary) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;LBinary&amp;gt;0&amp;nbsp;then &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RS.Fields.Append&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;mBinary&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;adLongVarChar,&amp;nbsp;LBinary &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RS.Open &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RS.AddNew &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RS(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;mBinary&amp;quot;&lt;/span&gt;&lt;span&gt;).AppendChunk&amp;nbsp;Binary&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RS.Update &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinaryToString&amp;nbsp;=&amp;nbsp;RS(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;mBinary&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinaryToString&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;MultiByteToBinary(MultiByte) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;RS,&amp;nbsp;LMultiByte,&amp;nbsp;Binary &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Const&lt;/span&gt;&lt;span&gt;&amp;nbsp;adLongVarBinary&amp;nbsp;=&amp;nbsp;205 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;RS&amp;nbsp;=&amp;nbsp;CreateObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ADODB.Recordset&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LMultiByte&amp;nbsp;=&amp;nbsp;LenB(MultiByte) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;LMultiByte&amp;gt;0&amp;nbsp;then &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RS.Fields.Append&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;mBinary&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;adLongVarBinary,&amp;nbsp;LMultiByte &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RS.Open &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RS.AddNew &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RS(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;mBinary&amp;quot;&lt;/span&gt;&lt;span&gt;).AppendChunk&amp;nbsp;MultiByte&amp;nbsp;&amp;amp;&amp;nbsp;ChrB(0) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RS.Update &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Binary&amp;nbsp;=&amp;nbsp;RS(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;mBinary&amp;quot;&lt;/span&gt;&lt;span&gt;).GetChunk(LMultiByte) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MultiByteToBinary&amp;nbsp;=&amp;nbsp;Binary &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;字符串到二进制 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;StringToBinary(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;String&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;I,&amp;nbsp;B &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;For&lt;/span&gt;&lt;span&gt;&amp;nbsp;I=1&amp;nbsp;to&amp;nbsp;len(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;String&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B&amp;nbsp;=&amp;nbsp;B&amp;nbsp;&amp;amp;&amp;nbsp;ChrB(Asc(Mid(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;String&lt;/span&gt;&lt;span&gt;,I,1))) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Next&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringToBinary&amp;nbsp;=&amp;nbsp;B &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;返回表单名 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;GetFieldName(infoStr) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;sPos,&amp;nbsp;EndPos &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sPos&amp;nbsp;=&amp;nbsp;InStr(infoStr,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;name=&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EndPos&amp;nbsp;=&amp;nbsp;InStr(sPos&amp;nbsp;+&amp;nbsp;6,&amp;nbsp;infoStr,&amp;nbsp;Chr(34)&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;;&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;EndPos&amp;nbsp;=&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EndPos&amp;nbsp;=&amp;nbsp;inStr(sPos&amp;nbsp;+&amp;nbsp;6,&amp;nbsp;infoStr,&amp;nbsp;Chr(34)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetFieldName&amp;nbsp;=&amp;nbsp;Mid(infoStr,&amp;nbsp;sPos&amp;nbsp;+&amp;nbsp;6,&amp;nbsp;endPos&amp;nbsp;-&amp;nbsp;_ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(sPos&amp;nbsp;+&amp;nbsp;6)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;返回文件名 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;GetFileName(infoStr) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;sPos,&amp;nbsp;EndPos &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sPos&amp;nbsp;=&amp;nbsp;InStr(infoStr,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;filename=&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EndPos&amp;nbsp;=&amp;nbsp;InStr(infoStr,&amp;nbsp;Chr(34)&amp;nbsp;&amp;amp;&amp;nbsp;CrLf) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetFileName&amp;nbsp;=&amp;nbsp;Mid(infoStr,&amp;nbsp;sPos&amp;nbsp;+&amp;nbsp;10,&amp;nbsp;EndPos&amp;nbsp;-&amp;nbsp;_ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(sPos&amp;nbsp;+&amp;nbsp;10)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;返回文件的&amp;nbsp;MIME&amp;nbsp;type &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;GetFileType(infoStr) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sPos&amp;nbsp;=&amp;nbsp;InStr(infoStr,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Content-Type:&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetFileType&amp;nbsp;=&amp;nbsp;Mid(infoStr,&amp;nbsp;sPos&amp;nbsp;+&amp;nbsp;14) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;根据路径获取文件名 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;GetFileNameByPath(FullPath) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;pos &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pos&amp;nbsp;=&amp;nbsp;0 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FullPath&amp;nbsp;=&amp;nbsp;Replace(FullPath,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;/&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;\&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pos&amp;nbsp;=&amp;nbsp;InStrRev(FullPath,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;\&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;+&amp;nbsp;1 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;(pos&amp;nbsp;&amp;gt;&amp;nbsp;0)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetFileNameByPath&amp;nbsp;=&amp;nbsp;Mid(FullPath,&amp;nbsp;pos) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetFileNameByPath&amp;nbsp;=&amp;nbsp;FullPath &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;根据路径获取扩展名 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;GetFileExt(FullPath) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;pos &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pos&amp;nbsp;=&amp;nbsp;InStrRev(FullPath,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;.&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;pos&amp;gt;0&amp;nbsp;then&amp;nbsp;GetFileExt&amp;nbsp;=&amp;nbsp;Mid(FullPath,&amp;nbsp;Pos) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;更新进度信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;进度信息保存在Application中的ADODB.Recordset对象中 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;UpdateProgressInfo(progressID) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Const&lt;/span&gt;&lt;span&gt;&amp;nbsp;adTypeText&amp;nbsp;=&amp;nbsp;2,&amp;nbsp;adDate&amp;nbsp;=&amp;nbsp;7,&amp;nbsp;adUnsignedInt&amp;nbsp;=&amp;nbsp;19,&amp;nbsp;adVarChar&amp;nbsp;=&amp;nbsp;200 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;(progressID&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;And&lt;/span&gt;&lt;span&gt;&amp;nbsp;IsNumeric(progressID))&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Lock() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;IsEmpty(Application(UploadProgressInfo))&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;Info&amp;nbsp;=&amp;nbsp;Server.CreateObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ADODB.Recordset&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;Application(UploadProgressInfo)&amp;nbsp;=&amp;nbsp;Info &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Fields.Append&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ProgressID&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;adUnsignedInt &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Fields.Append&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;StartTime&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;adDate &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Fields.Append&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;LastActivity&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;adDate &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Fields.Append&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;TotalBytes&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;adUnsignedInt &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Fields.Append&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;UploadedBytes&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;adUnsignedInt &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Fields.Append&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ReadyState&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;adVarChar,&amp;nbsp;128 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Fields.Append&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ErrorMessage&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;adVarChar,&amp;nbsp;4000 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Open&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ProgressID&amp;quot;&lt;/span&gt;&lt;span&gt;).Properties(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Optimize&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;true &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.AddNew&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;Info&amp;nbsp;=&amp;nbsp;Application(UploadProgressInfo) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;Info.Eof&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.MoveFirst() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Find&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ProgressID&amp;nbsp;=&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;progressID &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;(Info.EOF)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.AddNew &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ProgressID&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;clng(progressID) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;StartTime&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;Progress.StartTime &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;LastActivity&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;Now() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;TotalBytes&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;Progress.TotalBytes &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;UploadedBytes&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;Progress.UploadedBytes &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ReadyState&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;Progress.ReadyState &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ErrorMessage&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;Progress.ErrorMessage &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Update &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.UnLock &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;IF &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;根据上传ID获取进度信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;GetProgressInfo(progressID) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;pi,&amp;nbsp;Infos &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;pi&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;New&lt;/span&gt;&lt;span&gt;&amp;nbsp;ProgressInfo &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;IsEmpty(Application(UploadProgressInfo))&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;Infos&amp;nbsp;=&amp;nbsp;Application(UploadProgressInfo) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;Infos.Eof&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Infos.MoveFirst &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Infos.Find&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ProgressID&amp;nbsp;=&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;progressID &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;Infos.EOF&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pi.StartTime&amp;nbsp;=&amp;nbsp;Infos(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;StartTime&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pi.LastActivity&amp;nbsp;=&amp;nbsp;Infos(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;LastActivity&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pi.TotalBytes&amp;nbsp;=&amp;nbsp;clng(Infos(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;TotalBytes&amp;quot;&lt;/span&gt;&lt;span&gt;)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pi.UploadedBytes&amp;nbsp;=&amp;nbsp;clng(Infos(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;UploadedBytes&amp;quot;&lt;/span&gt;&lt;span&gt;)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pi.ReadyState&amp;nbsp;=&amp;nbsp;Trim(Infos(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ReadyState&amp;quot;&lt;/span&gt;&lt;span&gt;)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pi.ErrorMessage&amp;nbsp;=&amp;nbsp;Trim(Infos(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ErrorMessage&amp;quot;&lt;/span&gt;&lt;span&gt;)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;GetProgressInfo&amp;nbsp;=&amp;nbsp;pi &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;GetProgressInfo&amp;nbsp;=&amp;nbsp;pi &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;移除指定的进度信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;RemoveProgressInfo(progressID) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;IsEmpty(Application(UploadProgressInfo))&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Lock &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;Info&amp;nbsp;=&amp;nbsp;Application(UploadProgressInfo) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;Info.Eof&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.MoveFirst &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Find&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ProgressID&amp;nbsp;=&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;progressID &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;Info.EOF&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Delete &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;如果没有记录了,&amp;nbsp;直接释放,&amp;nbsp;避免&apos;800a0bcd&apos;错误 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;Info.RecordCount&amp;nbsp;=&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Close &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Contents.Remove&amp;nbsp;UploadProgressInfo &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.UnLock &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;移除指定的进度信息 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;RemoveOldProgressInfo(progressID) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;IsEmpty(Application(UploadProgressInfo))&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;L &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Lock &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;Info&amp;nbsp;=&amp;nbsp;Application(UploadProgressInfo) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.MoveFirst &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Do&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;L&amp;nbsp;=&amp;nbsp;Info(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;LastActivity&amp;quot;&lt;/span&gt;&lt;span&gt;).Value &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;IsEmpty(L)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Delete()&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;ElseIf&lt;/span&gt;&lt;span&gt;&amp;nbsp;DateDiff(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;d&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;Now(),&amp;nbsp;L)&amp;nbsp;&amp;gt;&amp;nbsp;30&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Delete() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.MoveNext() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Loop&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Until&lt;/span&gt;&lt;span&gt;&amp;nbsp;Info.EOF &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;如果没有记录了,&amp;nbsp;直接释放,&amp;nbsp;避免&apos;800a0bcd&apos;错误 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;Info.RecordCount&amp;nbsp;=&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info.Close &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Contents.Remove&amp;nbsp;UploadProgressInfo &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.UnLock &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Class&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;comment&quot;&gt;&apos;--------------------------------------------------- &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;进度信息&amp;nbsp;类 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;comment&quot;&gt;&apos;--------------------------------------------------- &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;keyword&quot;&gt;Class&lt;/span&gt;&lt;span&gt;&amp;nbsp;ProgressInfo &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;UploadedBytes &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;TotalBytes &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;StartTime &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;LastActivity &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;ReadyState &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;ErrorMessage &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;Class_Initialize() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UploadedBytes&amp;nbsp;=&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;已上传大小 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TotalBytes&amp;nbsp;=&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;总大小 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StartTime&amp;nbsp;=&amp;nbsp;Now()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;开始时间 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LastActivity&amp;nbsp;=&amp;nbsp;Now()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;最后更新时间 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReadyState&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;uninitialized&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;uninitialized,loading,loaded,interactive,complete &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ErrorMessage&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;总大小 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Get&lt;/span&gt;&lt;span&gt;&amp;nbsp;TotalSize &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TotalSize&amp;nbsp;=&amp;nbsp;FormatNumber(TotalBytes&amp;nbsp;/&amp;nbsp;1024,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;-1)&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;K&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;已上传大小 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Get&lt;/span&gt;&lt;span&gt;&amp;nbsp;SizeCompleted &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SizeCompleted&amp;nbsp;=&amp;nbsp;FormatNumber(UploadedBytes&amp;nbsp;/&amp;nbsp;1024,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;-1)&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;K&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;已上传秒数 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Get&lt;/span&gt;&lt;span&gt;&amp;nbsp;ElapsedSeconds &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ElapsedSeconds&amp;nbsp;=&amp;nbsp;DateDiff(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;s&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;StartTime,&amp;nbsp;Now()) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;已上传时间 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Get&lt;/span&gt;&lt;span&gt;&amp;nbsp;ElapsedTime &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;ElapsedSeconds&amp;nbsp;&amp;gt;&amp;nbsp;3600&amp;nbsp;then &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ElapsedTime&amp;nbsp;=&amp;nbsp;ElapsedSeconds&amp;nbsp;\&amp;nbsp;3600&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;时&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;(ElapsedSeconds&amp;nbsp;mod&amp;nbsp;3600)&amp;nbsp;\&amp;nbsp;60&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;分&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;ElapsedSeconds&amp;nbsp;mod&amp;nbsp;60&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;秒&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;ElseIf&lt;/span&gt;&lt;span&gt;&amp;nbsp;ElapsedSeconds&amp;nbsp;&amp;gt;&amp;nbsp;60&amp;nbsp;then &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ElapsedTime&amp;nbsp;=&amp;nbsp;ElapsedSeconds&amp;nbsp;\&amp;nbsp;60&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;分&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;ElapsedSeconds&amp;nbsp;mod&amp;nbsp;60&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;秒&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ElapsedTime&amp;nbsp;=&amp;nbsp;ElapsedSeconds&amp;nbsp;mod&amp;nbsp;60&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;秒&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;传输速率 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Get&lt;/span&gt;&lt;span&gt;&amp;nbsp;TransferRate &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;ElapsedSeconds&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TransferRate&amp;nbsp;=&amp;nbsp;FormatNumber(UploadedBytes&amp;nbsp;/&amp;nbsp;1024&amp;nbsp;/&amp;nbsp;ElapsedSeconds,&amp;nbsp;2,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;-1)&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;K/秒&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TransferRate&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;0&amp;nbsp;K/秒&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;完成百分比 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Get&lt;/span&gt;&lt;span&gt;&amp;nbsp;Percentage &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;TotalBytes&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Percentage&amp;nbsp;=&amp;nbsp;fix(UploadedBytes&amp;nbsp;/&amp;nbsp;TotalBytes&amp;nbsp;*&amp;nbsp;100)&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;%&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Percentage&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;0%&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;估计剩余时间 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Get&lt;/span&gt;&lt;span&gt;&amp;nbsp;TimeLeft &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;UploadedBytes&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SecondsLeft&amp;nbsp;=&amp;nbsp;fix(ElapsedSeconds&amp;nbsp;*&amp;nbsp;(TotalBytes&amp;nbsp;/&amp;nbsp;UploadedBytes&amp;nbsp;-&amp;nbsp;1)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;SecondsLeft&amp;nbsp;&amp;gt;&amp;nbsp;3600&amp;nbsp;then &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TimeLeft&amp;nbsp;=&amp;nbsp;SecondsLeft&amp;nbsp;\&amp;nbsp;3600&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;时&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;(SecondsLeft&amp;nbsp;mod&amp;nbsp;3600)&amp;nbsp;\&amp;nbsp;60&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;分&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;SecondsLeft&amp;nbsp;mod&amp;nbsp;60&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;秒&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;ElseIf&lt;/span&gt;&lt;span&gt;&amp;nbsp;SecondsLeft&amp;nbsp;&amp;gt;&amp;nbsp;60&amp;nbsp;then &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TimeLeft&amp;nbsp;=&amp;nbsp;SecondsLeft&amp;nbsp;\&amp;nbsp;60&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;分&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;SecondsLeft&amp;nbsp;mod&amp;nbsp;60&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;秒&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TimeLeft&amp;nbsp;=&amp;nbsp;SecondsLeft&amp;nbsp;mod&amp;nbsp;60&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;秒&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TimeLeft&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;未知&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Property&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Class&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;comment&quot;&gt;&apos;--------------------------------------------------- &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;文件信息&amp;nbsp;类 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;comment&quot;&gt;&apos;--------------------------------------------------- &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;Class&lt;/span&gt;&lt;span&gt;&amp;nbsp;FileInfo &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;FormName,&amp;nbsp;FileName,&amp;nbsp;FilePath,&amp;nbsp;FileSize,&amp;nbsp;FileType,&amp;nbsp;FileStart,&amp;nbsp;FileExt,&amp;nbsp;NewFileName &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;Class_Initialize&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileName&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;文件名 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FilePath&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;客户端路径 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileSize&amp;nbsp;=&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;文件大小 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileStart=&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;文件开始位置 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FormName&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;表单名 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileType&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;文件Content&amp;nbsp;Type &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileExt&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;文件扩展名 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NewFileName&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;上传后文件名 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;Save() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveAs(FileName) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;保存文件 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;SaveAs(fullpath) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;dr &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveAs&amp;nbsp;=&amp;nbsp;false &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;trim(fullpath)&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Or&lt;/span&gt;&lt;span&gt;&amp;nbsp;FileStart&amp;nbsp;=&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Or&lt;/span&gt;&lt;span&gt;&amp;nbsp;FileName&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Or&lt;/span&gt;&lt;span&gt;&amp;nbsp;right(fullpath,1)&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;/&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Exit&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NewFileName&amp;nbsp;=&amp;nbsp;GetFileNameByPath(fullpath) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;dr&amp;nbsp;=&amp;nbsp;CreateObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Adodb.Stream&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dr.Mode&amp;nbsp;=&amp;nbsp;3 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dr.Type&amp;nbsp;=&amp;nbsp;1 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dr.Open &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DoteyUpload_SourceData.position&amp;nbsp;=&amp;nbsp;FileStart &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DoteyUpload_SourceData.copyto&amp;nbsp;dr,&amp;nbsp;FileSize &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dr.SaveToFile&amp;nbsp;MapPath(FullPath),&amp;nbsp;2 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dr.Close &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;dr&amp;nbsp;=&amp;nbsp;nothing&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveAs&amp;nbsp;=&amp;nbsp;true &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;function &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;&amp;nbsp;取服务器端路径 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;MapPath(Path) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;InStr(1,&amp;nbsp;Path,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;:&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Or&lt;/span&gt;&lt;span&gt;&amp;nbsp;Left(Path,&amp;nbsp;2)&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;\\&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MapPath&amp;nbsp;=&amp;nbsp;Path&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MapPath&amp;nbsp;=&amp;nbsp;Server.MapPath(Path) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;function &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;根据路径获取文件名 &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;GetFileNameByPath(FullPath) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;pos &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pos&amp;nbsp;=&amp;nbsp;0 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FullPath&amp;nbsp;=&amp;nbsp;Replace(FullPath,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;/&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;\&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pos&amp;nbsp;=&amp;nbsp;InStrRev(FullPath,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;\&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;+&amp;nbsp;1 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;(pos&amp;nbsp;&amp;gt;&amp;nbsp;0)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetFileNameByPath&amp;nbsp;=&amp;nbsp;Mid(FullPath,&amp;nbsp;pos) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetFileNameByPath&amp;nbsp;=&amp;nbsp;FullPath &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Class&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;%&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;</description>
		<guid>http://www.517sou.net/Article/83.aspx</guid>
		<trackback:ping>http://www.517sou.net/Article/83/Trackback.ashx</trackback:ping>
		<comments>http://www.517sou.net/Article/83.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.517sou.net/Article/83/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.517sou.net/Article/77.aspx</link>
		<title>用iframe 解决下拉框与层之冲突</title>
		<author>shanyiwan@live.com()</author>
		<category>WEB应用开发</category>
		<pubDate>Sun, 21 Jun 2009 13:43:39 GMT</pubDate>
		<description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;问题&lt;/strong&gt;：用dw做了一个下拉菜单，但是碰到form的列表项就跑到下面去了，请帮忙解决，请看问题图示如下：&lt;br /&gt;&lt;img style=&quot;cursor: hand&quot; onmouseover=&quot;this.style.cursor=&apos;hand&apos;;&quot; onclick=&quot;window.open(this.src);&quot; border=&quot;0&quot; alt=&quot;按此在新窗口打开图片&quot; src=&quot;http://www.517sou.net/attachments/month_0412/vsky_20041594543.gif&quot; width=&quot;266&quot; onload=&quot;javascript:DrawImage(this);&quot; height=&quot;270&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;解决方案&lt;/strong&gt;：由于层与下拉框之间的优先级是：下拉框&amp;nbsp;&amp;gt;&amp;nbsp;层，因此在显示的时候，会因为优先级的次序而会出现如上问题。（如果几个元素都是层的话，我们可以通过层的&amp;nbsp;z-index&amp;nbsp;属性来设置）解决办法就是：给层中放一个优先级比下拉框更高的元素（iframe），从而解决此问题！具体解决代码如下：&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;menu&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;style&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;position:absolute;&amp;nbsp;visibility:hidden;&amp;nbsp;top:20px;&amp;nbsp;left:20px;&amp;nbsp;width:100px;&amp;nbsp;height:200px;&amp;nbsp;background-color:#6699cc;&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;item&amp;nbsp;1&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;item&amp;nbsp;2&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;item&amp;nbsp;3&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;item&amp;nbsp;4&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;item&amp;nbsp;5&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;iframe&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;src&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;javascript:false&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;style&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;position:absolute;&amp;nbsp;visibility:inherit;&amp;nbsp;top:0px;&amp;nbsp;left:0px;&amp;nbsp;width:100px;&amp;nbsp;height:200px;&amp;nbsp;z-index:-1;&amp;nbsp;filter=&apos;progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)&apos;;&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;iframe&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;#&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;onclick&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;document.getElementById(&apos;menu&apos;).style.visibility=&apos;visible&apos;&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;menu&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;form&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;select&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;option&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;A&amp;nbsp;form&amp;nbsp;selection&amp;nbsp;list&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;option&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;select&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;form&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;</description>
		<guid>http://www.517sou.net/Article/77.aspx</guid>
		<trackback:ping>http://www.517sou.net/Article/77/Trackback.ashx</trackback:ping>
		<comments>http://www.517sou.net/Article/77.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.517sou.net/Article/77/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.517sou.net/Article/fp-dropdown-menu.aspx</link>
		<title>使用 JavaScript 构建下拉菜单</title>
		<author>shanyiwan@live.com()</author>
		<category>WEB应用开发</category>
		<pubDate>Fri, 19 Jun 2009 15:39:24 GMT</pubDate>
		<description>&lt;p&gt;使用&amp;nbsp;JavaScript&amp;nbsp;构建下拉菜单&lt;br /&gt;&lt;br /&gt;摘要：学习如何使用&amp;nbsp;FrontPage、JavaScript&amp;nbsp;和层叠样式表为&amp;nbsp;Web&amp;nbsp;页构建下拉菜单。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;简介&lt;br /&gt;&lt;/b&gt;很多&amp;nbsp;Web&amp;nbsp;站点都采用某种形式的下拉菜单。下拉菜单可以设计用于访问子菜单，而这些子菜单进而可以访问其他子菜单。通过使用下拉菜单，可以为最深层次的站点提供具有针对性的导航结构。尽管在大多数&amp;nbsp;JavaScript&amp;nbsp;站点上都有用于这种菜单类型的免费脚本，但完成的菜单通常并不是非常吸引人，并且不能在所有的浏览器中运行。在本文中，我将讨论如何使用短短的几行&amp;nbsp;JavaScript&amp;nbsp;和一个层叠样式表来构建吸引人且符合下列所有条件的下拉菜单：&amp;nbsp;&lt;br /&gt;&lt;br /&gt;•&amp;nbsp;跨浏览器兼容。该脚本会在所有的版本&amp;nbsp;4&amp;nbsp;和更高版本的浏览器中运行。&amp;nbsp;&amp;nbsp;&lt;br /&gt;•&amp;nbsp;可自定义的内容。该脚本允许在下拉菜单中放入链接、文本和图像的任意组合。&amp;nbsp;&amp;nbsp;&lt;br /&gt;•&amp;nbsp;高效率脚本编写。构成这个菜单的脚本的大小小于&amp;nbsp;2&amp;nbsp;KB。&amp;nbsp;&lt;br /&gt;&lt;br /&gt;可以下载名为&amp;nbsp;FrontPage&amp;nbsp;2002&amp;nbsp;Sample&amp;nbsp;Dropdown&amp;nbsp;menu.zip&amp;nbsp;的压缩文件，以便您可以在遵循本文所述并构建自己的菜单时使用。FrontPage&amp;nbsp;2002&amp;nbsp;Sample&amp;nbsp;Dropdown&amp;nbsp;menu.zip&amp;nbsp;包含图像、脚本、doctype&amp;nbsp;声明（这样，我们可以根据&amp;nbsp;WWW&amp;nbsp;联合会阐明的&amp;nbsp;HTML&amp;nbsp;4.01&amp;nbsp;规范来正确地验证该文档）、两个层叠样式表以及一个&amp;nbsp;Default.htm&amp;nbsp;页面。要开始构建自己的下拉菜单，请将该压缩文件的内容进行解压缩，并将该文件导入&amp;nbsp;Microsoft&amp;nbsp;FrontPage&amp;nbsp;Web&amp;nbsp;站点，然后将图像（.gif&amp;nbsp;文件）移动到名为&amp;nbsp;images&amp;nbsp;的子文件夹中。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;添加菜单按钮&lt;/strong&gt;&lt;br /&gt;在&amp;nbsp;images&amp;nbsp;文件夹中，您将找到用于创建四个菜单按钮的图像。每个按钮都具有三种状态：默认状态、当指针移动到按钮上时出现的悬停状态以及指示当前页面的按下状态。还有一个徽标&amp;nbsp;(Logo.gif)&amp;nbsp;和一个背景图像&amp;nbsp;(Bg.gif)；这两个都是我在自己的站点上用于设计页面的图像。我们将插入&amp;nbsp;Logo.gif，而使用附加的层叠样式表来应用&amp;nbsp;Bg.gif。随着对该过程的逐步熟悉，您会希望创建并插入自己的图像。为了帮助我们正确地定位一切内容，我还将名为&amp;nbsp;Shim.gif&amp;nbsp;的透明&amp;nbsp;GIF&amp;nbsp;包括在其中。&lt;br /&gt;&lt;br /&gt;由于要将徽标和菜单按钮定位在表格中，因此让我们从将表格添加到页面来开始。&lt;br /&gt;&lt;br /&gt;要将表格添加到页面：&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;打开&amp;nbsp;Default.htm。光标的放置位置无关紧要，因为我们稍后将会定位该表格。&amp;nbsp;&amp;nbsp;&lt;br /&gt;2.&amp;nbsp;在&amp;nbsp;Table&amp;nbsp;菜单上，指向&amp;nbsp;Insert，然后单击&amp;nbsp;Table。&amp;nbsp;&amp;nbsp;&lt;br /&gt;3.&amp;nbsp;选择下列设置：带有设置的&amp;nbsp;Insert&amp;nbsp;Table&amp;nbsp;对话框&lt;br /&gt;&amp;nbsp;&lt;br /&gt;要将图像添加到表格：&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;将光标放在第一个单元格中。&amp;nbsp;&lt;br /&gt;2.&amp;nbsp;在&amp;nbsp;Insert&amp;nbsp;菜单上，指向&amp;nbsp;Picture，然后单击&amp;nbsp;From&amp;nbsp;File。&amp;nbsp;&lt;br /&gt;3.&amp;nbsp;浏览到&amp;nbsp;images&amp;nbsp;文件夹，然后选择&amp;nbsp;Shim.gif。&amp;nbsp;&lt;br /&gt;4.&amp;nbsp;单击&amp;nbsp;Insert。&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;要设置图片属性：&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;右键单击该图像，然后单击&amp;nbsp;Picture&amp;nbsp;Properties。&amp;nbsp;&lt;br /&gt;2.&amp;nbsp;选择&amp;nbsp;Specify&amp;nbsp;size，然后清除&amp;nbsp;Keep&amp;nbsp;aspect&amp;nbsp;ratio。&amp;nbsp;&lt;br /&gt;3.&amp;nbsp;将宽度设置为&amp;nbsp;40&amp;nbsp;像素、高度设置为&amp;nbsp;49&amp;nbsp;像素。&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;要设置单元格属性：&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;右键单击该单元格，然后单击&amp;nbsp;Cell&amp;nbsp;Properties。&amp;nbsp;&lt;br /&gt;2.&amp;nbsp;选择&amp;nbsp;Specify&amp;nbsp;width。&amp;nbsp;&amp;nbsp;&lt;br /&gt;3.&amp;nbsp;将宽度设置为&amp;nbsp;40&amp;nbsp;像素。&amp;nbsp;&lt;br /&gt;&lt;br /&gt;我们希望徽标出现在下一个单元格中，但需要徽标跨越四列。&lt;br /&gt;&lt;br /&gt;要使一个单元格跨越多列：&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;单击第一行的第二个单元格。&amp;nbsp;&amp;nbsp;&lt;br /&gt;2.&amp;nbsp;在&amp;nbsp;Table&amp;nbsp;菜单上，指向&amp;nbsp;Select，然后单击&amp;nbsp;Cell。&amp;nbsp;&amp;nbsp;&lt;br /&gt;3.&amp;nbsp;按住&amp;nbsp;CTRL&amp;nbsp;按钮，然后单击该行中接下来的三个单元格。&amp;nbsp;&amp;nbsp;&lt;br /&gt;4.&amp;nbsp;右键单击任意突出显示的单元格，然后单击&amp;nbsp;Merge&amp;nbsp;Cells。&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;现在，将徽标插入到刚创建的跨列单元格中。然后，将&amp;nbsp;Shim.gif&amp;nbsp;插入到最后一个单元格中，将其宽度设置为&amp;nbsp;24&amp;nbsp;像素、高度设置为&amp;nbsp;49&amp;nbsp;像素。&lt;br /&gt;&lt;br /&gt;将上述步骤作为指导，移动到第二行，将&amp;nbsp;Shim.gif&amp;nbsp;插入到第一个单元格中，并将其宽度设置为&amp;nbsp;40&amp;nbsp;像素、高度设置为&amp;nbsp;26&amp;nbsp;像素。现在，将这些按钮本身添加到第二行。将&amp;nbsp;Oneout.gif&amp;nbsp;插入到第二个单元格，将&amp;nbsp;Twoout.gif&amp;nbsp;插入到第三个单元格，将&amp;nbsp;Threeout.gif&amp;nbsp;插入到第四个单元格，将&amp;nbsp;Fourout.gif&amp;nbsp;插入到第五个单元格。要完成该表格，请将&amp;nbsp;Shim.gif&amp;nbsp;插入到最后一个单元格，并将其宽度设置为&amp;nbsp;24&amp;nbsp;像素、高度设置为&amp;nbsp;26&amp;nbsp;像素。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;添加链接&lt;/strong&gt;&lt;br /&gt;现在，我们可以将链接添加到菜单。并不是所有链接都将处于活动状态。我们将为&amp;nbsp;Logo.gif&amp;nbsp;和&amp;nbsp;Shim.gif&amp;nbsp;使用静态超级链接以触发菜单功能所必需的脚本。&lt;br /&gt;&lt;br /&gt;要添加链接：&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;在第一行的第二个单元格中，右键单击&amp;nbsp;Logo.gif，然后单击&amp;nbsp;Hyperlink。&amp;nbsp;&amp;nbsp;&lt;br /&gt;2.&amp;nbsp;在&amp;nbsp;Address&amp;nbsp;文本框中，键入&amp;nbsp;javascript:;，然后单击&amp;nbsp;OK。&amp;nbsp;&amp;nbsp;&lt;br /&gt;3.&amp;nbsp;在第二行的第一个单元格中，右键单击&amp;nbsp;Shim.gif，然后单击&amp;nbsp;Hyperlink。&amp;nbsp;&amp;nbsp;&lt;br /&gt;4.&amp;nbsp;在&amp;nbsp;Address&amp;nbsp;文本框中，键入&amp;nbsp;javascript:;，然后单击&amp;nbsp;OK。&amp;nbsp;&lt;br /&gt;5.&amp;nbsp;对于四个菜单按钮（Oneout.gif、Twoout.gif、Threeout.gif&amp;nbsp;和&amp;nbsp;Fourout.gif）中的每一个，右键单击该图像，然后单击&amp;nbsp;Hyperlink。&amp;nbsp;&amp;nbsp;&lt;br /&gt;6.&amp;nbsp;在&amp;nbsp;Address&amp;nbsp;文本框中，键入您要链接的页面的&amp;nbsp;URL，然后单击&amp;nbsp;OK。&amp;nbsp;&lt;br /&gt;7.&amp;nbsp;在最后一行的最后一个单元格中，右键单击&amp;nbsp;Shim.gif，然后单击&amp;nbsp;Hyperlink。&amp;nbsp;&amp;nbsp;&lt;br /&gt;8.&amp;nbsp;在&amp;nbsp;Address&amp;nbsp;框中，键入&amp;nbsp;javascript:;，然后单击&amp;nbsp;OK。&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;strong&gt;定位表格&lt;/strong&gt;&lt;br /&gt;表格虽然已经完成，但我们仍需要将其定位到页面的左上角。过去，通过使用正文标记中的边距属性将页面边距设置为零，我们可以实现这一操作。但是，在&amp;nbsp;HTML&amp;nbsp;4.01&amp;nbsp;规范中边距属性被否决，因此我们将使用绝对位置将菜单定位到页面的左上角。&lt;br /&gt;&lt;br /&gt;要定位表格：&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;右键单击工具栏上的任意位置，然后单击&amp;nbsp;Positioning&amp;nbsp;显示“Positioning”工具栏。&amp;nbsp;&amp;nbsp;&lt;br /&gt;2.&amp;nbsp;单击表格内部。&amp;nbsp;&lt;br /&gt;3.&amp;nbsp;在&amp;nbsp;Table&amp;nbsp;菜单上，指向&amp;nbsp;Select，然后单击&amp;nbsp;Table。&amp;nbsp;&amp;nbsp;&lt;br /&gt;4.&amp;nbsp;在“Positioning”工具栏上，单击最左端的&amp;nbsp;Position&amp;nbsp;Absolutely&amp;nbsp;图标，然后输入以下设置：图&amp;nbsp;2.&amp;nbsp;带有设置的&amp;nbsp;Positioning&amp;nbsp;工具栏&lt;br /&gt;&lt;br /&gt;注&amp;nbsp;我已经删除了默认高度设置；它是不必要的，而且可能会在一些浏览器中引起问题。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;5.&amp;nbsp;保存页面。&amp;nbsp;&amp;nbsp;&lt;br /&gt;6.&amp;nbsp;要在浏览器中预览该页面，请在&amp;nbsp;File&amp;nbsp;菜单上，单击&amp;nbsp;Preview&amp;nbsp;in&amp;nbsp;Browser。注意菜单表格位于页面的左上角。&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;strong&gt;添加下拉菜单&lt;/strong&gt;&lt;br /&gt;现在，让我们从第一个菜单按钮开始来构建菜单的下拉部分&amp;nbsp;－&amp;nbsp;子菜单。使用以下设置将表格添加到页面：带有设置的&amp;nbsp;Insert&amp;nbsp;Table&amp;nbsp;对话框&lt;br /&gt;&lt;br /&gt;表格的放置位置无关紧要，因为我们会稍后对其进行定位。我们需要将某些链接添加到菜单中以便正确地对其进行测试。在第一个表格行中键入&amp;nbsp;Link&amp;nbsp;One，在第二个表格行中键入&amp;nbsp;Link&amp;nbsp;Two，依次类推，直到键入&amp;nbsp;Link&amp;nbsp;Four。在最后一行中，键入几行文本。要使我们能够使用层叠样式表设置最后一个单元格中的文本的样式，该文本需要位于&amp;lt;P&amp;gt;标记中。&lt;br /&gt;&lt;br /&gt;Some&amp;nbsp;interesting&amp;nbsp;text&amp;nbsp;or&amp;nbsp;an&amp;nbsp;image,&amp;nbsp;or&amp;nbsp;both,&amp;nbsp;might&amp;nbsp;go&amp;nbsp;here.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;现在，我们已经创建了子菜单表格，需要将其直接定位在第一个菜单按钮下。&lt;br /&gt;&lt;br /&gt;要定位子菜单表格：&lt;br /&gt;1.&amp;nbsp;单击表格内部。&amp;nbsp;&amp;nbsp;&lt;br /&gt;2.&amp;nbsp;在&amp;nbsp;Table&amp;nbsp;菜单上，指向&amp;nbsp;Select，然后单击&amp;nbsp;Table。&amp;nbsp;&amp;nbsp;&lt;br /&gt;3.&amp;nbsp;在“Positioning”工具栏上，单击&amp;nbsp;Position&amp;nbsp;Absolutely，然后输入以下设置：&amp;nbsp;带有设置的&amp;nbsp;Positioning&amp;nbsp;工具栏&lt;br /&gt;&amp;nbsp;&lt;br /&gt;这会直接将子菜单定位在第一个按钮正下方。FrontPage&amp;nbsp;会自动将&amp;nbsp;DIV&amp;nbsp;元素添加到表格中以便正确对其进行定位。使用层叠样式表，我们将类属性应用到该&amp;nbsp;DIV&amp;nbsp;元素。切换到&amp;nbsp;HTML&amp;nbsp;视图并找到刚添加的&amp;nbsp;DIV&amp;nbsp;元素的代码。我为子菜单创建的类属性称为&amp;nbsp;drop，因此，让我们添加&amp;nbsp;class=&amp;quot;drop&amp;quot;&amp;nbsp;以将&amp;nbsp;drop&amp;nbsp;类属性分配给&amp;nbsp;DIV&amp;nbsp;元素：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;style&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;position:&amp;nbsp;absolute;&amp;nbsp;top:&amp;nbsp;75px;&amp;nbsp;left:&amp;nbsp;44px;&amp;nbsp;width:&amp;nbsp;175px;&amp;nbsp;z-index:&amp;nbsp;10&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;class&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;drop&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;显示和隐藏菜单&lt;/strong&gt;&lt;br /&gt;现在，该到智能部分了。当我们将指针移动到第一个按钮的上方时，我们需要使该菜单可见，而当我们移开指针时，需要它再次隐藏。同时，当指针悬停在菜单上时，菜单按钮图像应该更改为悬停状态&amp;nbsp;(Oneover.gif)，当指针离开菜单时返回默认状态。要确保当指针移开菜单时，该菜单处于隐藏状态，我们将在该菜单后添加一个稍微大一些的透明&amp;nbsp;GIF。当用户将指针移开菜单时，透明&amp;nbsp;GIF&amp;nbsp;将触发脚本并隐藏菜单。&lt;br /&gt;&lt;br /&gt;在页面上的任意位置插入&amp;nbsp;Shim.gif（我们将在稍后对其进行定位）。该&amp;nbsp;Shim.gif&amp;nbsp;需要比菜单大，因此将宽度设置为&amp;nbsp;224&amp;nbsp;像素、高度设置为&amp;nbsp;250&amp;nbsp;像素。&lt;br /&gt;&lt;br /&gt;要将&amp;nbsp;Shim.gif&amp;nbsp;定位在第一个菜单下：&lt;br /&gt;&lt;br /&gt;•&amp;nbsp;单击该图像。&amp;nbsp;&amp;nbsp;&lt;br /&gt;•&amp;nbsp;在“Positioning”工具栏上，单击&amp;nbsp;Position&amp;nbsp;Absolutely，然后输入以下设置：&amp;nbsp;带有设置的&amp;nbsp;Positioning&amp;nbsp;工具栏&amp;nbsp;&lt;br /&gt;•&amp;nbsp;因为我们需要在用户将指针移动到该图像上时运行某个脚本，所以右键单击该图像，单击&amp;nbsp;Hyperlink，然后在&amp;nbsp;Address&amp;nbsp;框中键入&amp;nbsp;javascript:;。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;现在，切换到&amp;nbsp;HTML&amp;nbsp;视图并找到该图像的&amp;nbsp;HTML。FrontPage&amp;nbsp;已经应用了&amp;nbsp;SPAN&amp;nbsp;标记，但我们希望使用&amp;nbsp;DIV&amp;nbsp;元素。DIV&amp;nbsp;元素是块级元素，它可以包含其他块级元素，例如，P、H1&amp;nbsp;和&amp;nbsp;TABLE&amp;nbsp;元素。SPAN&amp;nbsp;元素是一个内联元素，不能包含块级元素。我们要使用块级元素，因此将&amp;nbsp;SPAN&amp;nbsp;元素更改为&amp;nbsp;DIV&amp;nbsp;元素以便以下列代码结束：&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;添加事件处理程序&lt;/strong&gt;&lt;br /&gt;在构建菜单后，我们需要将事件处理程序添加到已经创建的链接上。我们可以编写两个函数，一个用于显示子菜单，一个用于隐藏它，但是这样做会浪费时间。如果一个函数可以完成这两项工作，效率会更高。我们称这个函数为&amp;nbsp;showHide。这样，如果我们要显示某个特定子菜单，我们就传入想要显示的子菜单的编号。例如，showHide(&apos;1&apos;)&amp;nbsp;将显示第一个子菜单。如果要隐藏当前打开的子菜单，不管它是哪个子菜单，那么我们在不使用参数的情况下调用该函数，例如&amp;nbsp;showHide()。&lt;br /&gt;&lt;br /&gt;让我们将事件处理程序添加到第一个菜单按钮。触发时，它将会显示按钮的子菜单。在&amp;nbsp;FrontPage&amp;nbsp;中，单击第一个菜单按钮，然后切换到&amp;nbsp;HTML&amp;nbsp;视图。该图像需要一个名称，以便我们可以使用脚本引用它。&lt;br /&gt;&lt;br /&gt;在&amp;nbsp;image&amp;nbsp;标记中，添加一个&amp;nbsp;name&amp;nbsp;属性（这个图像的名称为“trig1”）。我们还需要将&amp;nbsp;onmouseover&amp;nbsp;事件处理程序添加到该按钮。完成后的代码将类似于如下所示：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;HREF&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;default1.asp&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;onmouseover&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;showHide(&apos;1&apos;)&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;img&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;alt&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;src&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;images/oneout.gif&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;trig1&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;border&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;width&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;124&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;height&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;26&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;注&amp;nbsp;这就是我们的第一个子菜单，或者子菜单&amp;nbsp;1。showHide&amp;nbsp;参数为&amp;nbsp;1，图像名为&amp;nbsp;trig1，我们正在查看图像&amp;nbsp;Oneout.gif。&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;javascript:;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;onmouseover&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;showHide()&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;img&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;src&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;images/Shim.gif&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;width&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;220px&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;height&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;300px&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;border&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;在浏览器中预览页面。当指针移动到按钮上时，子菜单将会显示。&lt;br /&gt;&lt;br /&gt;要添加事件处理程序以隐藏子菜单，请在&amp;nbsp;HTML&amp;nbsp;中找到透明&amp;nbsp;GIF&amp;nbsp;的&amp;nbsp;HTML。添加&amp;nbsp;onmouseover&amp;nbsp;事件处理程序以调用不带参数的&amp;nbsp;showHide：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;HYPERLINK&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;javascript:;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;for&lt;/span&gt;&lt;span&gt;(i=0;i&amp;lt;aLayers.length;i++){&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(document.layers)document.layers[aLayers[i]].visibility=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;hide&apos;&lt;/span&gt;&lt;span&gt;;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(document.getElementById)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;document.getElementById(aLayers[i]).style.visibility=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;hidden&apos;&lt;/span&gt;&lt;span&gt;;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(document.all)document.all(aLayers[i]).style.visibility=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;hidden&apos;&lt;/span&gt;&lt;span&gt;;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;向上移动两行，我们将看到&amp;nbsp;Logo.gif&amp;nbsp;的&amp;nbsp;HTML。我们需要当用户将指针移动到&amp;nbsp;Logo.gif&amp;nbsp;上时隐藏该菜单，因此将&amp;nbsp;onmouseover&amp;nbsp;事件处理程序添加到链接：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;javascript:;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;onmouseover&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;showHide()&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;img&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;border&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;src&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;images/logo.gif&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;width&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;516&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;height&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;49&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;现在，向上移动四行，我们将会发现处理菜单表格的&amp;nbsp;DIV&amp;nbsp;元素的&amp;nbsp;HTML。该&amp;nbsp;DIV&amp;nbsp;元素应该为&amp;nbsp;id&amp;nbsp;属性指定&amp;nbsp;&amp;quot;top&amp;quot;：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;style&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;position:&amp;nbsp;absolute;&amp;nbsp;top:&amp;nbsp;0px;&amp;nbsp;left:&amp;nbsp;0px;&amp;nbsp;width:&amp;nbsp;580px;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;top&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;现在，找到刚创建的下拉菜单的&amp;nbsp;HTML。我们需要将该&amp;nbsp;DIV&amp;nbsp;元素的&amp;nbsp;z&amp;nbsp;索引设置为&amp;nbsp;hidden，并为其指定一个&amp;nbsp;id&amp;nbsp;属性值&amp;nbsp;&amp;quot;sub1&amp;quot;，这样代码会类似于如下所示：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;div&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;style&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;position:&amp;nbsp;absolute;&amp;nbsp;top:&amp;nbsp;75px;&amp;nbsp;left:&amp;nbsp;44px;&amp;nbsp;width:&amp;nbsp;175px;&amp;nbsp;z-index:&amp;nbsp;10;&amp;nbsp;visibility:&amp;nbsp;hidden&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;sub1&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;class&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;drop&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;最后，向下滚动到我们刚才添加的&amp;nbsp;Shim.gif&amp;nbsp;的&amp;nbsp;HTML。该&amp;nbsp;DIV&amp;nbsp;元素也需要隐藏，并且应该将&amp;nbsp;id&amp;nbsp;属性值设置为&amp;nbsp;&amp;quot;close1&amp;quot;。该元素也需要一个&amp;nbsp;onmouseover&amp;nbsp;事件处理程序，用来通知脚本在用户将指针移动到其上时隐藏菜单。&lt;br /&gt;&lt;br /&gt;要在浏览器中预览页面，在“文件”菜单上，单击“在浏览器中预览”。将指针移动到菜单按钮上，然后将其移开菜单按钮。正如您所见，现在已具备了一个正常工作的下拉菜单。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;添加更多菜单&lt;/strong&gt;&lt;br /&gt;正如前面所见，每个菜单都包括三个部分：触发子菜单的按钮图像、包含子菜单的&amp;nbsp;DIV&amp;nbsp;元素和隐藏子菜单的关闭&amp;nbsp;DIV&amp;nbsp;元素。&lt;br /&gt;&lt;br /&gt;您可以在一个页面上按喜好创建多个子菜单。但是，要使用本文中包括的脚本，遵循我所使用的菜单部分的命名顺序非常最重要。菜单按钮必须按顺序进行命名：trig1、trig2、trig3&amp;nbsp;等等。子菜单必须包含&amp;nbsp;id&amp;nbsp;sub1、sub2、sub3&amp;nbsp;等等。并且关闭&amp;nbsp;DIV&amp;nbsp;元素必须将&amp;nbsp;id&amp;nbsp;属性值设置为&amp;nbsp;close1、close2、close3&amp;nbsp;等等。&lt;br /&gt;&lt;br /&gt;记住这个命名顺序，遵循上述步骤创建第二、第三和第四个按钮的菜单。下面是您应该使用的设置的总结。每个子菜单和关闭&amp;nbsp;DIV&amp;nbsp;元素都需要准确地出现在相关联的菜单按钮下面。所有&amp;nbsp;DIV&amp;nbsp;元素的顶端位置都是&amp;nbsp;75px。对于左侧位置，我已经在页面上移动每个子菜单，直到它准确位于菜单按钮下。注意子菜单需要定位到准确的像素十分重要。关闭&amp;nbsp;DIV&amp;nbsp;元素的左侧位置无需准确到像素，因为每个关闭&amp;nbsp;DIV&amp;nbsp;元素都比相关联的菜单大。&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;菜单&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;菜单&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;菜单&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;菜单&amp;nbsp;4&amp;nbsp;&lt;br /&gt;图像名&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trig1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trig2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trig3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trig4&lt;br /&gt;菜单&amp;nbsp;Div&amp;nbsp;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sub1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sub2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sub3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sub4&lt;br /&gt;菜单&amp;nbsp;Div&amp;nbsp;顶端位置&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;75px&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;75px&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;75px&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;75px&lt;br /&gt;菜单&amp;nbsp;Div&amp;nbsp;左侧位置&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;44px&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;174px&amp;nbsp;&amp;nbsp;&amp;nbsp;305px&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;436px&lt;br /&gt;关闭&amp;nbsp;Div&amp;nbsp;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;close1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;close2&amp;nbsp;&amp;nbsp;&amp;nbsp;close3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;close4&lt;br /&gt;关闭&amp;nbsp;Div&amp;nbsp;顶端位置&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;75px&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;75px&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;75px&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;75px&lt;br /&gt;关闭&amp;nbsp;Div&amp;nbsp;左侧位置&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10px&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;154px&amp;nbsp;&amp;nbsp;&amp;nbsp;258px&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;378px&lt;br /&gt;&lt;br /&gt;将事件处理程序添加到第二、第三和第四个子菜单中。为了多样化，您可以尝试添加不同长度的子菜单。还可以将图像或任意多的文本添加到子菜单中。只需要记住每个菜单的命名规则即可：trig1&amp;nbsp;用于图像、sub1&amp;nbsp;用于菜单&amp;nbsp;DIV&amp;nbsp;元素以及&amp;nbsp;close1&amp;nbsp;用于包含透明&amp;nbsp;GIF&amp;nbsp;的&amp;nbsp;DIV&amp;nbsp;元素。还要记住透明&amp;nbsp;GIF&amp;nbsp;必须比该菜单大。&lt;br /&gt;&lt;br /&gt;有了能正常工作的菜单后，让我们来看一下代码。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;脚本&lt;/strong&gt;&lt;br /&gt;该脚本的功能存在于函数&amp;nbsp;showHide()。让我们看一下&amp;nbsp;showHide()&amp;nbsp;函数的代码：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;function&amp;nbsp;showHide(){&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;a&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;showHide&lt;/span&gt;&lt;span&gt;.arguments;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;if(a.length&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;0)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;a&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;Array(&apos;sub&apos;+a[0],&amp;nbsp;&apos;close&apos;+a[0],a[0]);&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;if(!document.layerSet){&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;if(a.length&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;0){&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;aLayers&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;Array();for(&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;i&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;0&lt;/span&gt;&lt;span&gt;;&amp;nbsp;i&amp;nbsp;0){for(&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;i&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;0&lt;/span&gt;&lt;span&gt;;&amp;nbsp;i&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;+?.src?);&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;a[2]&amp;nbsp;else{document.images[?trig?+a[2]]&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;.src&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;eval(&apos;over&apos;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;+?.src?);}&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;c&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;eval(&apos;over&apos;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;if(document.layers){document.layers[?top?].document.images[?trig?+a[2]].sr&amp;nbsp;;}&amp;nbsp;if(document.layers)document.layers[aLayers[i]]&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;.visibility&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;show&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;我们需要做的首要事情就是指派传递到变量（在此例中为&amp;nbsp;a）的参数（如果有）。我们可以使用一行代码来完成：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;a&amp;nbsp;=&amp;nbsp;showHide.arguments;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;我们的变量“a”将根据数组为空（如果没有任何参数传递到函数）或为零。第一个元素“a[0]”将包含传入的参数（基于子菜单最终数量，为&amp;nbsp;1、2、3&amp;nbsp;等等）。因此，我们将需要测试“a”变量的长度。如果它大于&amp;nbsp;0，我们需要构建一个稍后会在脚本中使用的数组。以下代码测试我们的“a”变量的长度并构建包含两个&amp;nbsp;DIV&amp;nbsp;元素以及传递到函数的参数的数组。&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(a.length&amp;gt;0)&amp;nbsp;a&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;Array(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;sub&apos;&lt;/span&gt;&lt;span&gt;+a[0],&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;close&apos;&lt;/span&gt;&lt;span&gt;+a[0],a[0]);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;因此，如果将参数“1”传递到函数，“a”将是包含元素&amp;nbsp;sub1、close1&amp;nbsp;和&amp;nbsp;1&amp;nbsp;的新数组。&lt;br /&gt;&lt;br /&gt;我们需要一种方法来确定这是否是第一次在页面上调用该函数，以便确定是否存在需要关闭的任何打开的&amp;nbsp;DIV&amp;nbsp;元素。&lt;br /&gt;&lt;br /&gt;如果确实是第一次调用该脚本，则脚本将构建包含两个&amp;nbsp;DIV&amp;nbsp;元素（只要这两个元素已经打开，我们就要关闭它们）的数组。我会使用变量“document.layerSet”来确定该函数是否是第一次进行调用。如果我们只使用一个简单的设置为&amp;nbsp;true&amp;nbsp;或&amp;nbsp;flase&amp;nbsp;的变量（例如，“layerSet=true”），则它不会在两次调用该函数之间保留其值。通过以格式“document.variableName”使用变量，该变量将在两次调用函数之间保留它的值。&lt;br /&gt;&lt;br /&gt;您可能会认为“document.layerSet”是指文档对象的&amp;nbsp;layerSet&amp;nbsp;属性，同样，“document.bgColor”是指文档对象的&amp;nbsp;bgColor&amp;nbsp;属性。在此例中，情况并非如此。不存在文档对象的&amp;nbsp;layerSet&amp;nbsp;属性。它只是我为变量选择的名称。我也可以简单地选择“document.jonsVariable”。当我们以这种方式使用变量时，必须选择不是文档对象属性的变量名称。您可能会发现这种技术在很多脚本中都非常有用。&lt;br /&gt;&lt;br /&gt;第一次调用该脚本时，“document.layerSet”将设置为&amp;nbsp;false，因为我们尚未为它设置值，并且它并不是文档对象的有效属性。确定“document.layerSet”是否为&amp;nbsp;false&amp;nbsp;的快速方法就是编写&amp;nbsp;if(!document.layerSet)。如果它为&amp;nbsp;false，我们需要构建一个数组（我称其为“aLayers”）以保存我们要打开菜单的&amp;nbsp;ID：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(!document.layerSet){&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(a.length&amp;nbsp;&amp;gt;&amp;nbsp;0){&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aLayers&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;Array();&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;for&lt;/span&gt;&lt;span&gt;(i=0;&amp;nbsp;i&amp;lt;&amp;nbsp;}&amp;nbsp;document.layerSet=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;true;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;在调用脚本后，“document.layerSet”将设置为真，这样该代码将只运行一次。&lt;br /&gt;&lt;br /&gt;如果不是第一次调用该函数，将会打开当前在页面上可见的包含两个&amp;nbsp;DIV&amp;nbsp;元素&amp;nbsp;—&amp;nbsp;子菜单&amp;nbsp;(subx)&amp;nbsp;和关闭&amp;nbsp;DIV&amp;nbsp;(closex)—&amp;nbsp;的数组&amp;nbsp;(aLayers)。&lt;br /&gt;&lt;br /&gt;要隐藏这些&amp;nbsp;DIV&amp;nbsp;元素并将菜单按钮图像切换回到其默认状态，我们需要找到当前打开菜单的索引&amp;nbsp;(x)。索引是&amp;nbsp;aLayers&amp;nbsp;的第一个元素的第四个字符，因此我们可以使用以下代码找到它：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;theIndex&amp;nbsp;=&amp;nbsp;aLayers[0].charAt(3);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;变量&amp;nbsp;theIndex&amp;nbsp;将存储我们要查找的编号，而&amp;nbsp;aLayers&amp;nbsp;将在其数组中保存当前打开的&amp;nbsp;DIV&amp;nbsp;元素的编号。方法&amp;nbsp;charAt(3)&amp;nbsp;将跳过前三个字符并将第四个字符的值分配给&amp;nbsp;theIndex。&lt;br /&gt;&lt;br /&gt;您将会想起我们的图像遵循命名顺序&amp;nbsp;trig1、trig2、trig3&amp;nbsp;等等。运行上述代码段后，我们可以通过利用&amp;nbsp;&apos;trig&apos;+theIndex&amp;nbsp;引用当前打开的图像来查找其名称。通常情况下，我们可以使用“document.images[&apos;ImageName&apos;]”来处理页面上的图像。&lt;br /&gt;&lt;br /&gt;在除&amp;nbsp;Netscape&amp;nbsp;4.0&amp;nbsp;的任意浏览器中，都可以使用“document.images[&apos;trig&apos;+theIndex]”来调用该图像。但&amp;nbsp;Netscape&amp;nbsp;4.0&amp;nbsp;使用非&amp;nbsp;DIV&amp;nbsp;元素的层，因此我们需要添加该调用的“document.layers[&apos;top&apos;]”以便使其对&amp;nbsp;Netscape&amp;nbsp;4.0&amp;nbsp;有意义。结果是：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;document.layers[&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;top&apos;&lt;/span&gt;&lt;span&gt;].document.images[&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;trig&apos;&lt;/span&gt;&lt;span&gt;theIndex]&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;我们可以编写特定代码以适应&amp;nbsp;Netscape&amp;nbsp;4.0，并确保对跨浏览器兼容的菜单图像的引用。因为&amp;nbsp;Netscape&amp;nbsp;4.0&amp;nbsp;是唯一包含&amp;nbsp;document.layers&amp;nbsp;集合的浏览器，所以&amp;nbsp;if(document.layers)&amp;nbsp;是测试浏览器是否为&amp;nbsp;Netscape&amp;nbsp;4.0&amp;nbsp;的快速简单的方法。在建立对图像的引用后，我们可以使用&amp;nbsp;&apos;out&apos;&amp;nbsp;+&amp;nbsp;theIndex&amp;nbsp;+&amp;nbsp;&apos;.src&apos;&amp;nbsp;将图像源&amp;nbsp;(src)&amp;nbsp;转换回其默认状态：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(document.layers){hideImage&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;=document.layers[&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;top&apos;&lt;/span&gt;&lt;span&gt;].document.images[&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;trig&apos;&lt;/span&gt;&lt;span&gt;+theIndex];}&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;else&lt;/span&gt;&lt;span&gt;{hideImage&amp;nbsp;=&amp;nbsp;document.images[&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;trig&apos;&lt;/span&gt;&lt;span&gt;+theIndex];}&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;hideImage.src&amp;nbsp;=&amp;nbsp;eval(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;out&apos;&lt;/span&gt;&lt;span&gt;&amp;nbsp;+&amp;nbsp;theIndex&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;.src&apos;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;在转换菜单图像后，我们需要隐藏当前打开的子菜单。打开的菜单存储在“aLayers”中，因此我们将循环“aLayers”并隐藏&amp;nbsp;DIV&amp;nbsp;元素。利用脚本处理已定位的&amp;nbsp;DIV&amp;nbsp;元素有三种不同的方法。对于&amp;nbsp;Netscape&amp;nbsp;4.0，方法是&amp;nbsp;document.layers[&apos;NameOfDiv&apos;]。对于&amp;nbsp;Microsoft&amp;nbsp;Internet&amp;nbsp;Explorer&amp;nbsp;4.x，方法是&amp;nbsp;document.all(&apos;NameOfDiv&apos;)。对于浏览器版本&amp;nbsp;5&amp;nbsp;和更高版本，方法是&amp;nbsp;document.getElementById(&apos;NameOfDiv&apos;)。因此我们可以依次通过“aLayers”以确定所有三种可能性，并且对于&amp;nbsp;Netscape&amp;nbsp;4.0&amp;nbsp;将两层的可见性设置为“hide”，对于所有其他浏览器设置为“hidden”。&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;for&lt;/span&gt;&lt;span&gt;(i=0;i&amp;lt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(document.layers)document.layers[aLayers[i]].visibility=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;hide&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;}&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;此时，所有菜单图像都处于其默认状态，并且所有子菜单都处于隐藏状态。如果我们调用不带参数的函数，换言之，如果我们将指针从一个子菜单上移开，同时又不移动到另一个子菜单上，那么就不会有任何其他操作。&lt;br /&gt;&lt;br /&gt;但是，如果我们调用带参数的函数（即，如果我们将指针移动到另一个子菜单上），那么我们需要显示选定的子菜单并将菜单按钮转换到其悬停状态。当然，我们还需要使用&amp;nbsp;aLayers&amp;nbsp;在显示上添加两个&amp;nbsp;DIV&amp;nbsp;元素&amp;nbsp;—&amp;nbsp;subx&amp;nbsp;和&amp;nbsp;closex—，这样我们可以在下一次调用该函数时隐藏它们。脚本的其余部分是使用与前面相同的方法来确定&amp;nbsp;theIndex&amp;nbsp;并对&amp;nbsp;Netscape&amp;nbsp;4.0&amp;nbsp;进行测试，它将如下所示：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(a.length&amp;nbsp;&amp;gt;&amp;nbsp;0){&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;keyword&quot;&gt;for&lt;/span&gt;&lt;span&gt;(i=0;&amp;nbsp;i&amp;lt;&amp;nbsp;a[2]&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;else&lt;/span&gt;&lt;span&gt;{document.images[?trig?+a[2]].src=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;eval(&apos;over&apos;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;+?.src?);}&amp;nbsp;c=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;eval(&apos;over&apos;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(document.layers){document.layers[?top?].document.images[?trig?+a[2]].sr&amp;nbsp;;}&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(document.layers)document.layers[aLayers[i]].visibility=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;show&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;}}&amp;nbsp;+?.src?);&amp;nbsp;aLayers[i]=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;a[i];&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;脚本将继续以这种方式运行，直到用户关闭浏览器窗口。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;两个样式表&lt;/strong&gt;&lt;br /&gt;让我们查看一下样式表如何工作以及它们实现的内容。我们需要确保页面可以显示在所有浏览器中，包括&amp;nbsp;Netscape&amp;nbsp;4.0。我们使用两个样式表来实现这一目的：一个用于&amp;nbsp;Netscape&amp;nbsp;4.0&amp;nbsp;的基本样式表和一个用于最新浏览器版本的样式表。将样式表链接到页面的通常的语法是：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;link&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;rel&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;stylesheet&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;stylesheet.css&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;所有版本&amp;nbsp;4.0&amp;nbsp;和更高版本的浏览器都支持该语法。将样式表链接到页面的另一个方法是&amp;nbsp;@import&amp;nbsp;命令：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;style&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;@import&amp;nbsp;url(stylesheet.css);&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;Netscape&amp;nbsp;4.0&amp;nbsp;不支持&amp;nbsp;@import&amp;nbsp;命令并将其完全完全忽略。因此，如果我具有一个用于&amp;nbsp;Netscape&amp;nbsp;4.0&amp;nbsp;浏览器的样式表和另一个用于版本&amp;nbsp;5.0&amp;nbsp;和更高版本浏览器的样式表，我可以对两个样式表使用以下代码：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;link&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;rel&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;stylesheet&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;old.css&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;style&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;@import&amp;nbsp;url(&apos;v5.css&apos;);&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;使用这种格式，就不再需要浏览器检测。&lt;br /&gt;&lt;br /&gt;现在，让我们看一下样式表本身。我们从设置&amp;nbsp;标记的样式开始。我想要背景图像&amp;nbsp;(Bg.gif)&amp;nbsp;在&amp;nbsp;x&amp;nbsp;方向中重复（即在&amp;nbsp;x-y&amp;nbsp;轴上交叉，但不在同一平面上）。我们还需要定位菜单的左上角，这样我们添加到页面的任何内容会正确地定位于该菜单下面。因此，我们设置顶端边距为&amp;nbsp;100&amp;nbsp;像素。所有其他边距设置为&amp;nbsp;0&amp;nbsp;像素。&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;body&amp;nbsp;{&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;background-image:&amp;nbsp;url(&apos;/images/bg.gif&apos;);&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;background-repeat:&amp;nbsp;repeat-x;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin-top:100px;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin-right:&amp;nbsp;0px;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin-bottom:&amp;nbsp;0px;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin-left:&amp;nbsp;0px;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;现在，我们为下拉菜单本身定义一个类属性&amp;nbsp;(drop)。drop&amp;nbsp;类属性定义在以下几个代码段中：“.drop”用于常规属性；“.drop&amp;nbsp;td”用于处理表格单元格的表现形式；“.drop&amp;nbsp;a”和“.drop&amp;nbsp;a:hover”用于处理链接的表现形式。&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;.drop&amp;nbsp;{&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;border:&amp;nbsp;1px&amp;nbsp;none&amp;nbsp;#666666;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding-top:&amp;nbsp;10px;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;background-color:&amp;nbsp;#FFFFFF;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;layer-background-color:&amp;nbsp;#ffffff;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;.drop&amp;nbsp;td&amp;nbsp;{&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-family:&amp;nbsp;Verdana,&amp;nbsp;Arial,&amp;nbsp;Helvetica,&amp;nbsp;sans-serif;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-size:&amp;nbsp;12px;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;.drop&amp;nbsp;a&amp;nbsp;{&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;color:&amp;nbsp;#99CCCC;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;text-decoration:&amp;nbsp;none;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-size:&amp;nbsp;14px;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding-left:&amp;nbsp;11px;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding-top:&amp;nbsp;2px;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding-bottom:&amp;nbsp;2px;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;.drop&amp;nbsp;a:hover&amp;nbsp;{&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;color:&amp;nbsp;#FFFFFF;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;background-color:&amp;nbsp;#99CCCC;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;当然，设置页面样式的方式并没有对错之分，因此尝试自己的颜色和字体以得到想要的外观。有关层叠样式表的详细信息（包括类、特性、属性和值），请参阅&amp;nbsp;Using&amp;nbsp;Cascading&amp;nbsp;Style&amp;nbsp;Sheets&amp;nbsp;on&amp;nbsp;Your&amp;nbsp;Web&amp;nbsp;Site。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;灵活性的优势&lt;/strong&gt;&lt;br /&gt;我所介绍的技术的优势在于我们将具有一个可以运行在所有当前浏览器中的精简脚本。更重要的是，该技术非常灵活。在掌握该技术后，您将能够设计和构建自己的下拉菜单。还可以使用该技术来构建垂直的弹出菜单。您无需接触构建该菜单的&amp;nbsp;JavaScript，但确实需要学习层叠样式表。我已经为该演示使用了一些非常简单的样式。通过修改层叠样式表，您可以使自己的菜单更有趣、更吸引人。&lt;/p&gt;</description>
		<guid>http://www.517sou.net/Article/fp-dropdown-menu.aspx</guid>
		<trackback:ping>http://www.517sou.net/Article/53/Trackback.ashx</trackback:ping>
		<comments>http://www.517sou.net/Article/fp-dropdown-menu.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.517sou.net/Article/53/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.517sou.net/Article/VBScript-run-time-error.aspx</link>
		<title>VBScript 运行时错误</title>
		<author>shanyiwan@live.com()</author>
		<category>WEB应用开发</category>
		<pubDate>Fri, 19 Jun 2009 15:22:36 GMT</pubDate>
		<description>&lt;p&gt;MicrosoftVBscript运行时错误(0x000A0005)&amp;nbsp;无效的过程调用或参数&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0005)&amp;nbsp;无效的过程调用或参数&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0006)&amp;nbsp;溢出&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0007)&amp;nbsp;内存不够&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0009)&amp;nbsp;下标越界&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A000A)&amp;nbsp;该数组为定长的或临时被锁定&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A000B)&amp;nbsp;被零除&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A000D)&amp;nbsp;类型不匹配&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A000E)&amp;nbsp;字符串空间不够&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0011)&amp;nbsp;不能执行所需的操作&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A001C)&amp;nbsp;堆栈溢出&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0023)&amp;nbsp;未定义过程或函数&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0030)&amp;nbsp;加载&amp;nbsp;DLL&amp;nbsp;时出错&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0033)&amp;nbsp;内部错误&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0034)&amp;nbsp;错误的文件名或号码&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0035)&amp;nbsp;文件未找到&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0036)&amp;nbsp;错误的文件模式&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0037)&amp;nbsp;文件已经打开&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0039)&amp;nbsp;设备&amp;nbsp;I/O&amp;nbsp;错误&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A003A)&amp;nbsp;文件已存在&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A003D)&amp;nbsp;磁盘已满&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A003E)&amp;nbsp;输入超出了文件尾&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0043)&amp;nbsp;文件过多&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0044)&amp;nbsp;设备不可用&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0046)&amp;nbsp;没有权限&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0047)&amp;nbsp;磁盘没有准备好&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A004A)&amp;nbsp;重命名时不能带有其他驱动器符号&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A004B)&amp;nbsp;路径/文件访问错误&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A004C)&amp;nbsp;路径未找到&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A005B)&amp;nbsp;对象变量未设置&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A005C)&amp;nbsp;For&amp;nbsp;循环未初始化&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A005E)&amp;nbsp;无效使用&amp;nbsp;Null&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0142)&amp;nbsp;不能创建必要的临时文件&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01A8)&amp;nbsp;缺少对象&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01AD)&amp;nbsp;ActiveX&amp;nbsp;部件不能创建对象&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01AE)&amp;nbsp;类不支持&amp;nbsp;Automation&amp;nbsp;操作&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01B0)&amp;nbsp;Automation&amp;nbsp;操作中文件名或类名未找到&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01B6)&amp;nbsp;对象不支持此属性或方法&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01B8)&amp;nbsp;Automation&amp;nbsp;操作错误&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01BD)&amp;nbsp;对象不支持此操作&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01BE)&amp;nbsp;对象不支持已命名参数&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01BF)&amp;nbsp;对象不支持当前区域设置选项&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01C0)&amp;nbsp;未找到已命名参数&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01C1)&amp;nbsp;参数是必选项&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01C2)&amp;nbsp;错误的参数个数或无效的参数属性值&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01C3)&amp;nbsp;对象不是一个集合&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01C5)&amp;nbsp;未找到指定的&amp;nbsp;DLL&amp;nbsp;函数&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01C7)&amp;nbsp;代码资源锁定错误&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01C9)&amp;nbsp;此键已与该集合的一个元素关联&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01CA)&amp;nbsp;变量使用了一个&amp;nbsp;VBScript&amp;nbsp;中不支持的&amp;nbsp;Automation&amp;nbsp;类型&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01CE)&amp;nbsp;远程服务器不存在或不可用&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01E1)&amp;nbsp;无效图片&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01F4)&amp;nbsp;变量未定义&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01F5)&amp;nbsp;非法赋值&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01F6)&amp;nbsp;对象不能安全用&amp;nbsp;Script&amp;nbsp;编程&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01F7)&amp;nbsp;对象不能安全初始化&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01F8)&amp;nbsp;对象不能安全创建&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01F9)&amp;nbsp;无效的或无资格的引用&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01FA)&amp;nbsp;类没有被定义&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A01FB)&amp;nbsp;出现一个意外错误&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03E9)&amp;nbsp;内存不够&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03EA)&amp;nbsp;语法错误&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03EB)&amp;nbsp;缺少&amp;nbsp;&apos;:&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03ED)&amp;nbsp;缺少&amp;nbsp;&apos;(&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03EE)&amp;nbsp;缺少&amp;nbsp;&apos;)&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03EF)&amp;nbsp;缺少&amp;nbsp;&apos;]&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03F2)&amp;nbsp;缺少标识符&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03F3)&amp;nbsp;缺少&amp;nbsp;&apos;=&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03F4)&amp;nbsp;缺少&amp;nbsp;&apos;If&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03F5)&amp;nbsp;缺少&amp;nbsp;&apos;To&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03F6)&amp;nbsp;缺少&amp;nbsp;&apos;End&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03F7)&amp;nbsp;缺少&amp;nbsp;&apos;Function&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03F8)&amp;nbsp;缺少&amp;nbsp;&apos;Sub&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03F9)&amp;nbsp;缺少&amp;nbsp;&apos;Then&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03FA)&amp;nbsp;缺少&amp;nbsp;&apos;Wend&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03FB)&amp;nbsp;缺少&amp;nbsp;&apos;Loop&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03FC)&amp;nbsp;缺少&amp;nbsp;&apos;Next&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03FD)&amp;nbsp;缺少&amp;nbsp;&apos;Case&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03FE)&amp;nbsp;缺少&amp;nbsp;&apos;Select&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A03FF)&amp;nbsp;缺少表达式&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0400)&amp;nbsp;缺少语句&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0401)&amp;nbsp;语句未结束&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0402)&amp;nbsp;缺少整型常数&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0403)&amp;nbsp;缺少&amp;nbsp;&apos;While&apos;&amp;nbsp;或&amp;nbsp;&apos;Until&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0404)&amp;nbsp;缺少&amp;nbsp;&apos;While&apos;&amp;nbsp;和&amp;nbsp;&apos;Until&apos;或语句未结束&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0405)&amp;nbsp;缺少&amp;nbsp;&apos;With&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0406)&amp;nbsp;标识符过长&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0407)&amp;nbsp;无效数字&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0408)&amp;nbsp;无效字符&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0409)&amp;nbsp;未结束的字符串常量&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A040A)&amp;nbsp;注释未结束&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A040D)&amp;nbsp;无效使用&amp;nbsp;&apos;Me&apos;&amp;nbsp;关键字&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A040E)&amp;nbsp;&apos;loop&apos;&amp;nbsp;语句缺少&amp;nbsp;&apos;do&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A040F)&amp;nbsp;无效的&amp;nbsp;&apos;exit&apos;&amp;nbsp;语句&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0410)&amp;nbsp;循环控制变量&amp;nbsp;&apos;for&apos;&amp;nbsp;无效&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0411)&amp;nbsp;名称重定义&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0412)&amp;nbsp;必须是行中的第一个语句&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0413)&amp;nbsp;不能为&amp;nbsp;non-ByVal&amp;nbsp;参数赋值&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0414)&amp;nbsp;调用子程序时不能使用括号&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0415)&amp;nbsp;缺少文字常数&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0416)&amp;nbsp;缺少&amp;nbsp;&apos;In&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0417)&amp;nbsp;缺少&amp;nbsp;&apos;Class&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0418)&amp;nbsp;必须在一个类的内部定义&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0419)&amp;nbsp;在属性声明中缺少&amp;nbsp;Let&amp;nbsp;,&amp;nbsp;Set&amp;nbsp;或&amp;nbsp;Get&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A041A)&amp;nbsp;缺少&amp;nbsp;&apos;Property&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A041B)&amp;nbsp;在所有属性的规范中，变量的数目必须一致&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A041C)&amp;nbsp;在一个类中不允许有多个缺省的属性/方法&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A041D)&amp;nbsp;类的初始化或终止程序没有变量&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A041E)&amp;nbsp;属性的&amp;nbsp;set&amp;nbsp;或&amp;nbsp;let&amp;nbsp;必须至少有一个变量&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A041F)&amp;nbsp;错误的&amp;nbsp;&apos;Next&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0420)&amp;nbsp;&apos;Default&apos;&amp;nbsp;只能在&amp;nbsp;&apos;Property&apos;&amp;nbsp;,&amp;nbsp;&apos;Function&apos;&amp;nbsp;或&amp;nbsp;&apos;Sub&apos;&amp;nbsp;中指定&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0421)&amp;nbsp;指定&amp;nbsp;&apos;Default&apos;&amp;nbsp;时必须同时指定&amp;nbsp;&apos;Public&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A0422)&amp;nbsp;只能在&amp;nbsp;Property&amp;nbsp;Get&amp;nbsp;中指定&amp;nbsp;&apos;Default&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A1000)&amp;nbsp;Microsoft&amp;nbsp;VBScript&amp;nbsp;编译器错误&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A1001)&amp;nbsp;Microsoft&amp;nbsp;VBScript&amp;nbsp;运行时错误&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A1398)&amp;nbsp;缺少正则表达式对象&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A1399)&amp;nbsp;正则表达式语法错误&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A139A)&amp;nbsp;错误的数量词&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A139B)&amp;nbsp;正则表达式中缺少&amp;nbsp;&apos;]&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A139C)&amp;nbsp;正则表达式中缺少&amp;nbsp;&apos;)&apos;&amp;nbsp;&lt;br /&gt;MicrosoftVBscript运行时错误(0x000A139D)&amp;nbsp;字符集越界&lt;/p&gt;</description>
		<guid>http://www.517sou.net/Article/VBScript-run-time-error.aspx</guid>
		<trackback:ping>http://www.517sou.net/Article/47/Trackback.ashx</trackback:ping>
		<comments>http://www.517sou.net/Article/VBScript-run-time-error.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.517sou.net/Article/47/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.517sou.net/Article/Using-ASP-to-get-the-picture-width-and-height.aspx</link>
		<title>ASP获取图片宽度和高度的类</title>
		<author>shanyiwan@live.com()</author>
		<category>WEB应用开发</category>
		<pubDate>Fri, 19 Jun 2009 14:23:33 GMT</pubDate>
		<description>&lt;p&gt;ASP获取图片宽度和高度的类&lt;/p&gt;&lt;p&gt;程序实现代码：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-vb&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;IMGPath=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;icon_lblog.gif&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;PP=&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;New&lt;/span&gt;&lt;span&gt;&amp;nbsp;ImgWHInfo&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;W&amp;nbsp;=&amp;nbsp;PP.imgW(Server.Mappath(IMGPath))&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;H&amp;nbsp;=&amp;nbsp;PP.imgH(Server.Mappath(IMGPath))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;pp=&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Nothing&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Response.Write(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;lt;img&amp;nbsp;src=&apos;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;amp;IMGPath&amp;amp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&apos;&amp;nbsp;border=0&amp;gt;宽:&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;amp;W&amp;amp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;;高:&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;amp;H)&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;类代码：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-vb&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;lt;% &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;keyword&quot;&gt;Class&lt;/span&gt;&lt;span&gt;&amp;nbsp;ImgWHInfo&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;获取图片宽度和高度的类，支持JPG，GIF，PNG，BMP &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;ASO &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;Class_Initialize &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;ASO=Server.CreateObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ADODB.Stream&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ASO.Mode=3 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ASO.Type=1 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ASO.Open &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp;Class_Terminate &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Err.Clear &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;ASO=&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Nothing&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Sub&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;Bin2Str(Bin) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;I,&amp;nbsp;Str &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;For&lt;/span&gt;&lt;span&gt;&amp;nbsp;I=1&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;To&lt;/span&gt;&lt;span&gt;&amp;nbsp;LenB(Bin) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clow=MidB(Bin,I,1) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;ASCB(clow)&amp;lt;128&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Str&amp;nbsp;=&amp;nbsp;Str&amp;nbsp;&amp;amp;&amp;nbsp;Chr(ASCB(clow)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I=I+1 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;I&amp;nbsp;&amp;lt;=&amp;nbsp;LenB(Bin)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;Str&amp;nbsp;=&amp;nbsp;Str&amp;nbsp;&amp;amp;&amp;nbsp;Chr(ASCW(MidB(Bin,I,1)&amp;amp;clow)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Next&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bin2Str&amp;nbsp;=&amp;nbsp;Str &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;Num2Str(Num,Base,Lens) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;Ret &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ret&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;While&lt;/span&gt;&lt;span&gt;(Num&amp;gt;=Base) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ret&amp;nbsp;=&amp;nbsp;(Num&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Mod&lt;/span&gt;&lt;span&gt;&amp;nbsp;Base)&amp;nbsp;&amp;amp;&amp;nbsp;Ret &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Num&amp;nbsp;=&amp;nbsp;(Num&amp;nbsp;-&amp;nbsp;Num&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Mod&lt;/span&gt;&lt;span&gt;&amp;nbsp;Base)/Base &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Wend &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Num2Str&amp;nbsp;=&amp;nbsp;Right(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;String&lt;/span&gt;&lt;span&gt;(Lens,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;amp;&amp;nbsp;Num&amp;nbsp;&amp;amp;&amp;nbsp;Ret,Lens) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;Str2Num(Str,Base)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;Ret,I &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ret&amp;nbsp;=&amp;nbsp;0&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;For&lt;/span&gt;&lt;span&gt;&amp;nbsp;I=1&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;To&lt;/span&gt;&lt;span&gt;&amp;nbsp;Len(Str)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ret&amp;nbsp;=&amp;nbsp;Ret&amp;nbsp;*base&amp;nbsp;+&amp;nbsp;Cint(Mid(Str,I,1))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Next&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Str2Num=Ret&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;BinVal(Bin)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;Ret,I &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ret&amp;nbsp;=&amp;nbsp;0&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;For&lt;/span&gt;&lt;span&gt;&amp;nbsp;I&amp;nbsp;=&amp;nbsp;LenB(Bin)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;To&lt;/span&gt;&lt;span&gt;&amp;nbsp;1&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Step&lt;/span&gt;&lt;span&gt;&amp;nbsp;-1&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ret&amp;nbsp;=&amp;nbsp;Ret&amp;nbsp;*256&amp;nbsp;+&amp;nbsp;AscB(MidB(Bin,I,1))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Next&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinVal=Ret&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;BinVal2(Bin)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;Ret,I &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ret&amp;nbsp;=&amp;nbsp;0&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;For&lt;/span&gt;&lt;span&gt;&amp;nbsp;I&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;To&lt;/span&gt;&lt;span&gt;&amp;nbsp;LenB(Bin)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ret&amp;nbsp;=&amp;nbsp;Ret&amp;nbsp;*256&amp;nbsp;+&amp;nbsp;AscB(MidB(Bin,I,1))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Next&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinVal2=Ret&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;GetImageSize(filespec) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;bFlag &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;Ret(3)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ASO.LoadFromFile(filespec)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bFlag=ASO.Read(3)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Select&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Case&lt;/span&gt;&lt;span&gt;&amp;nbsp;Hex(binVal(bFlag))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Case&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;4E5089&amp;quot;&lt;/span&gt;&lt;span&gt;:&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ASO.Read(15)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;PNG&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(1)=BinVal2(ASO.Read(2))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ASO.Read(2)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(2)=BinVal2(ASO.Read(2))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Case&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;464947&amp;quot;&lt;/span&gt;&lt;span&gt;:&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ASO.read(3)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;gif&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(1)=BinVal(ASO.Read(2))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(2)=BinVal(ASO.Read(2))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Case&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;535746&amp;quot;&lt;/span&gt;&lt;span&gt;:&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ASO.read(5)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binData=ASO.Read(1)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sConv=Num2Str(ascb(binData),2&amp;nbsp;,8)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nBits=Str2Num(left(sConv,5),2)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sConv=mid(sConv,6)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;While&lt;/span&gt;&lt;span&gt;(len(sConv)&amp;lt;nBits*4)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binData=ASO.Read(1)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sConv=sConv&amp;amp;Num2Str(AscB(binData),2&amp;nbsp;,8)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Wend&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;SWF&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(1)=Int(Abs(Str2Num(Mid(sConv,1*nBits+1,nBits),2)-Str2Num(Mid(sConv,0*nBits+1,nBits),2))/20)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(2)=Int(Abs(Str2Num(Mid(sConv,3*nBits+1,nBits),2)-Str2Num(Mid(sConv,2*nBits+1,nBits),2))/20)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Case&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;FFD8FF&amp;quot;&lt;/span&gt;&lt;span&gt;:&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Do&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Do&lt;/span&gt;&lt;span&gt;:&amp;nbsp;p1=binVal(ASO.Read(1)):&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Loop&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;While&lt;/span&gt;&lt;span&gt;&amp;nbsp;p1=255&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;And&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;ASO.EOS&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;p1&amp;gt;191&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;And&lt;/span&gt;&lt;span&gt;&amp;nbsp;p1&amp;lt;196&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Exit&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Do&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;ASO.read(binval2(ASO.Read(2))-2)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Do&lt;/span&gt;&lt;span&gt;:p1=binVal(ASO.Read(1)):&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Loop&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;While&lt;/span&gt;&lt;span&gt;&amp;nbsp;p1&amp;lt;255&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;And&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Not&lt;/span&gt;&lt;span&gt;&amp;nbsp;ASO.EOS&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Loop&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;While&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;True&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ASO.Read(3)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;JPG&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(2)=binval2(ASO.Read(2))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(1)=binval2(ASO.Read(2))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Case&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;:&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;left(Bin2Str(bFlag),2)=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;BM&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ASO.Read(15)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;BMP&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(1)=binval(ASO.Read(4))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(2)=binval(ASO.Read(4))&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Select&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(3)=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;width=&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;ret(1)&amp;nbsp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;nbsp;height=&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;ret(2)&amp;nbsp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getimagesize=ret&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;imgW(IMGPath) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;FSO,IMGFile,FileExt,Arr &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;FSO&amp;nbsp;=&amp;nbsp;Server.CreateObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Scripting.FileSystemObject&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;(FSO.FileExists(IMGPath))&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;IMGFile&amp;nbsp;=&amp;nbsp;FSO.GetFile(IMGPath)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileExt=FSO.GetExtensionName(IMGPath)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Select&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Case&lt;/span&gt;&lt;span&gt;&amp;nbsp;FileExt&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Case&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;gif&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;bmp&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;jpg&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;png&amp;quot;&lt;/span&gt;&lt;span&gt;:&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Arr=GetImageSize(IMGFile.Path)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgW&amp;nbsp;=&amp;nbsp;Arr(1)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Select&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;IMGFile=&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Nothing&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgW&amp;nbsp;=&amp;nbsp;0 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;FSO=&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Nothing&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp;imgH(IMGPath) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Dim&lt;/span&gt;&lt;span&gt;&amp;nbsp;FSO,IMGFile,FileExt,Arr &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;FSO&amp;nbsp;=&amp;nbsp;server.CreateObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Scripting.FileSystemObject&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;(FSO.FileExists(IMGPath))&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Then&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;IMGFile&amp;nbsp;=&amp;nbsp;FSO.GetFile(IMGPath)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileExt=FSO.GetExtensionName(IMGPath)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Select&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Case&lt;/span&gt;&lt;span&gt;&amp;nbsp;FileExt&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Case&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;gif&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;bmp&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;jpg&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;png&amp;quot;&lt;/span&gt;&lt;span&gt;:&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Arr=getImageSize(IMGFile.Path)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgH&amp;nbsp;=&amp;nbsp;Arr(2)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Select&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;IMGFile=&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Nothing&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgH&amp;nbsp;=&amp;nbsp;0&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;If&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Set&lt;/span&gt;&lt;span&gt;&amp;nbsp;FSO=&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Nothing&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Function&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Class&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;%&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;</description>
		<guid>http://www.517sou.net/Article/Using-ASP-to-get-the-picture-width-and-height.aspx</guid>
		<trackback:ping>http://www.517sou.net/Article/45/Trackback.ashx</trackback:ping>
		<comments>http://www.517sou.net/Article/Using-ASP-to-get-the-picture-width-and-height.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.517sou.net/Article/45/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.517sou.net/Article/HOW-TO-Send-a-Binary-Stream-by-Using-XMLHTTP.aspx</link>
		<title>HOWTO: Send a Binary Stream by Using XMLHTTP</title>
		<author>shanyiwan@live.com()</author>
		<category>WEB应用开发</category>
		<pubDate>Fri, 19 Jun 2009 14:09:58 GMT</pubDate>
		<description>&lt;p&gt;HOWTO:&amp;nbsp;Send&amp;nbsp;a&amp;nbsp;Binary&amp;nbsp;Stream&amp;nbsp;by&amp;nbsp;Using&amp;nbsp;XMLHTTP&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SUMMARY&lt;/b&gt;&lt;br /&gt;In some cases you may want to send a binary stream to a server. One way to do so is to use the IXMLHTTPRequest object. This article demonstrates how to retrieve an ADO recordset from a server, modify it, and send it back as a stream of binary data.&lt;/p&gt;&lt;p&gt;&lt;b&gt;MORE&amp;nbsp;INFORMATION&lt;br /&gt;&lt;/b&gt;This example uses the ADODB.Stream object to hold the binary data that is to be sent back to the server. If a newer version of MSXML has been installed in Sid-by-Side mode, then to run the sample code with that specific version, you must explicitly use the GUIDs or ProgIDs for that version. For example, MSXML version 4 only installs in side-by-side mode. Please refer to the following article in the Microsoft Knowledge Base to see what code changes required to run the sample code with the MSXML 4.0 parser: Q305019 INFO: MSXML 4.0 Specific GUIDs and ProgIds.&lt;/p&gt;&lt;p&gt;For example, in the code below, you would create objects with MSXML 4.0 with the following statements:&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;xmlhttp&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ActiveXObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Msxml2.XMLHTTP.4.0&amp;quot;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;xmldoc&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ActiveXObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Msxml2.DOMDocument.4.0&amp;quot;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;xmlhttp&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ActiveXObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Msxml2.XMLHTTP.4.0&amp;quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;To&amp;nbsp;use&amp;nbsp;XMLHTTP&amp;nbsp;to&amp;nbsp;send&amp;nbsp;a&amp;nbsp;binary&amp;nbsp;stream&amp;nbsp;to&amp;nbsp;a&amp;nbsp;server,&amp;nbsp;follow&amp;nbsp;these&amp;nbsp;steps:&amp;nbsp;&lt;br /&gt;Paste&amp;nbsp;the&amp;nbsp;following&amp;nbsp;code&amp;nbsp;into&amp;nbsp;a&amp;nbsp;file&amp;nbsp;in&amp;nbsp;your&amp;nbsp;default&amp;nbsp;Web&amp;nbsp;folder&amp;nbsp;and&amp;nbsp;name&amp;nbsp;the&amp;nbsp;file&amp;nbsp;Receiver.asp.&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-vb&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;lt;% &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;dim&amp;nbsp;Connection &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;dim&amp;nbsp;rs &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Connection&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Provider=SQLOLEDB.1;Data&amp;nbsp;Source=servername;User&amp;nbsp;Id=username;Password=password;Initial&amp;nbsp;Catalog=Northwind;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;sql&amp;nbsp;=&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;Customers&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;server.CreateObject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;ADODB.Recordset&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;if&amp;nbsp;Request.QueryString(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;getRecordset&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;YES&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;then &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.ActiveConnection&amp;nbsp;=&amp;nbsp;Connection &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.CursorLocation&amp;nbsp;=&amp;nbsp;3&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;Client&amp;nbsp;Side &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.CursorType&amp;nbsp;=&amp;nbsp;3&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;Static&amp;nbsp;Recordset &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.LockType&amp;nbsp;=&amp;nbsp;4&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;Batch&amp;nbsp;Optimistic &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.Open&amp;nbsp;sql &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.Save&amp;nbsp;response,&amp;nbsp;1&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;persist&amp;nbsp;adPersistXML &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;else &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.open&amp;nbsp;Request&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;.BinaryRead(Request.TotalBytes) &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.activeconnection&amp;nbsp;=&amp;nbsp;Connection&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;Reconnect &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.updatebatch&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;Update&amp;nbsp;adAffectAll &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.close &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Recordset&amp;nbsp;Saved&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&apos;Send&amp;nbsp;back&amp;nbsp;response &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;End&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;end&amp;nbsp;if &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;%&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;Paste&amp;nbsp;the&amp;nbsp;following&amp;nbsp;code&amp;nbsp;into&amp;nbsp;a&amp;nbsp;file&amp;nbsp;in&amp;nbsp;your&amp;nbsp;default&amp;nbsp;Web&amp;nbsp;folder&amp;nbsp;and&amp;nbsp;name&amp;nbsp;the&amp;nbsp;file&amp;nbsp;Sender.asp&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;SCRIPT&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;ID&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;clientEventHandlersJS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;LANGUAGE&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;javascript&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;lt;!-- &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;var&amp;nbsp;rs; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;var&amp;nbsp;xmldoc;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;var&amp;nbsp;xmlstream; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;function&amp;nbsp;SendRS_onclick()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;xmlstream&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ActiveXObject(&amp;quot;ADODB.Stream&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;xmlstream.Mode&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;3&lt;/span&gt;&lt;span&gt;;&amp;nbsp;//read&amp;nbsp;write &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlstream.Open(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;xmlstream.Type&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;1&lt;/span&gt;&lt;span&gt;;&amp;nbsp;//&amp;nbsp;adTypeBinary &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.Save(xmlstream,0);&amp;nbsp;//adpersistadtg &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;xmlhttp&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ActiveXObject(&amp;quot;Msxml2.XMLHTTP&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlhttp.Open(&amp;quot;POST&amp;quot;,&amp;quot;http://localhost/Receiver.asp?&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;getRecordset&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;NO&lt;/span&gt;&lt;span&gt;&amp;quot;,false); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlhttp.setRequestHeader(&amp;quot;Content-Length&amp;quot;,xmlstream.Size);&amp;nbsp;//set&amp;nbsp;the&amp;nbsp;length&amp;nbsp;of&amp;nbsp;the&amp;nbsp;content &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlhttp.send(xmlstream.Read(xmlstream.Size));&amp;nbsp;//Send&amp;nbsp;the&amp;nbsp;stream &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(xmlhttp.responseText); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;function&amp;nbsp;getRS_onclick()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;rs&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ActiveXObject(&amp;quot;ADODB.Recordset&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;xmldoc&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ActiveXObject(&amp;quot;Msxml2.DOMDocument&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;xmlhttp&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ActiveXObject(&amp;quot;Msxml2.XMLHTTP&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlhttp.Open(&amp;quot;Get&amp;quot;,&amp;quot;http://localhost/Receiver.asp?&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;getRecordset&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;YES&lt;/span&gt;&lt;span&gt;&amp;quot;,false); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlhttp.send(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmldoc.loadXML(xmlhttp.responseText);&amp;nbsp;//load&amp;nbsp;the&amp;nbsp;returned&amp;nbsp;stream&amp;nbsp;into&amp;nbsp;the&amp;nbsp;dom&amp;nbsp;document &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.Open(xmldoc);&amp;nbsp;//load&amp;nbsp;the&amp;nbsp;dom&amp;nbsp;document&amp;nbsp;into&amp;nbsp;the&amp;nbsp;recordset &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&amp;quot;Recordset&amp;nbsp;Loaded&amp;quot;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;function&amp;nbsp;Update_onclick()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&amp;quot;before:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;rs.Fields(2).Value); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.Fields(2)&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;.Value&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;rs&lt;/span&gt;&lt;span&gt;.Fields(2).Value&amp;nbsp;+&amp;nbsp;&amp;quot;!&amp;quot;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs.Update(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&amp;quot;after:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;rs.Fields(2).Value); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;//--&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;SCRIPT&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;INPUT&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;button&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;Get&amp;nbsp;Recordset&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;getRS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;getRS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;LANGUAGE&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;javascript&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;onclick&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;return&amp;nbsp;getRS_onclick()&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;INPUT&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;button&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;Update&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;Update&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;Update&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;LANGUAGE&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;javascript&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;onclick&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;return&amp;nbsp;Update_onclick()&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;INPUT&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;button&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;Send&amp;nbsp;Recordset&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;SendRS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;SendRS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;LANGUAGE&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;javascript&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;onclick&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;return&amp;nbsp;SendRS_onclick()&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;Modify the Receiver.asp page so that the connection variable contains a Microsoft SQL Server name and a valid SQL userid and password.&lt;br /&gt;Start Microsoft Internet Explorer and browse to &lt;a href=&quot;http://localhost/sender.asp&quot; target=&quot;_blank&quot;&gt;http://localhost/sender.asp&lt;/a&gt;.&lt;br /&gt;Click Get Recordset. A message box appears and tells you that the recordset was loaded successfully.&lt;br /&gt;Click Update. A message box appears and shows you the value before the update. A second message box appears and shows you the value after the update.&lt;br /&gt;Click Send Recordset. A message box appears and tells you that the recordset was updated.&lt;br /&gt;Known Limitations and Recommendations&lt;br /&gt;Although this allows you to use the persist mechanism to pass the data back and forth to the client, it is recommended that you use UpdateGrams or OpenXML with SQL Server 2000 to pass and send recordset data in XML format.&lt;br /&gt;There are limitations in shaped recordsets. Edited shaped recordsets cannot be persisted in XML format. Also, parameterized shaped commands cannot be persisted at all. For additional information on persisting and limitations, see the following Microsoft Developer Network (MSDN) Web site:&lt;br /&gt;XML Persistence Format&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/psdk/dasdk/xmli3vsk.htm&quot; target=&quot;_blank&quot;&gt;http://msdn.microsoft.com/library/psdk/dasdk/xmli3vsk.htm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;REFERENCES&lt;br /&gt;For more information, see the following MSDN Web site: &lt;br /&gt;Saving ADO Recordsets in XML Format&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/psdk/dasdk/xmli546n.htm&quot; target=&quot;_blank&quot;&gt;http://msdn.microsoft.com/library/psdk/dasdk/xmli546n.htm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;(c) Microsoft Corporation 2001, All Rights Reserved. Contributions by Bruce Taimana, Microsoft Corporation &lt;br /&gt;The information in this article applies to:&lt;br /&gt;Microsoft XML 2.5&lt;br /&gt;Microsoft XML 2.6&lt;br /&gt;Microsoft XML 3.0&lt;br /&gt;Microsoft XML 3.0 SP1&lt;br /&gt;Microsoft XML 4.0&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-vb&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;with&amp;nbsp;wscript &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;.arguments.count&amp;lt;2&amp;nbsp;then&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.quit &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;aso=.createobject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;adodb.stream&amp;quot;&lt;/span&gt;&lt;span&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;web=createobject(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;microsoft.xmlhttp&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;web.open&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;get&amp;quot;&lt;/span&gt;&lt;span&gt;,.arguments(0),0 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;web.send &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;web.status&amp;gt;200&amp;nbsp;then&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.echo&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Error:&amp;quot;&lt;/span&gt;&lt;span&gt;+web.status &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.quit&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aso.type=1 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aso.open &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aso.write&amp;nbsp;web.responsebody &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aso.savetofile&amp;nbsp;.arguments(1),2 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;end&amp;nbsp;with&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;</description>
		<guid>http://www.517sou.net/Article/HOW-TO-Send-a-Binary-Stream-by-Using-XMLHTTP.aspx</guid>
		<trackback:ping>http://www.517sou.net/Article/44/Trackback.ashx</trackback:ping>
		<comments>http://www.517sou.net/Article/HOW-TO-Send-a-Binary-Stream-by-Using-XMLHTTP.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.517sou.net/Article/44/Feeds.ashx</wfw:commentRss>
	</item>
</channel>
</rss>
