upload.htm 3.72 KB
<HTML>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="../temp1.css" type="text/css">
<script type="text/javascript" src="functable.js"></script>
<script>
 function gentable()
 {
  var xmlDoc = getXMLDoc("events.xml?81");
  geneventtable('TagEvent', xmlDoc, 'upload');
 }
</script>
</head>
<body onLoad="gentable()" bgcolor=#ffffff vlink=#0000ff>


<div id="Tag0"/>
<Table cols=2 border=0 width=100%>
<col width=60%>
<col width=40%>
<tr height=91><td/><td><img src='../../res/tradechart.jpg'></td></tr>
</table>
<br>
<h3> <font color=#3366ff>Supcan Upload组件</font></h3><hr color=#2266ee size=1>
  和Edit组件一样,Upload组件也是从Freeform组件中分离出来的,可单独用于页面中,实现本地文件的上传。<br>
  文件上传支持ftp、http put、http post传输协议,并且通过参数可以限制上传文件的个数、尺寸、zip压缩、图片大小等等常见项。<br>
<br>
注:服务器通常是需要配置的,常用的Windows 2003的IIS服务器配置要点:<br>
1.允许虚拟目录的“写权限”;<br>
2.建议设定安全帐号,简单的方法是集成Windows身份验证;<br>
3.如果是采用http PUT上传,应在Web服务扩展中,允许WebDAV;<br>
<br>

<div id="Tag1"/><br><br><br>
  <font style='font-size:15pt'>1.创建实例</font><hr color=#2266ee size=1>
  Supcan Upload组件是通过插件/加载项创建的,所以应该用<a href="act.htm?81#Tag205" target=_blank>使用指南 \ 页面语法</a>中叙述的插件/加载项的页面创建语法创建,
&lt;Object&gt;中的某几个Param参数规则如下:<br>
<pre class='xml'>
&lt;Object ...(略)&gt;
&lt;Param name="CtlName" value="<Font color=red>BCV1.Upload</Font>"&gt;  //固定
&lt;Param name="ZipUrl" value="<Font color=red>BCV1.bin</Font>"&gt;	  //也可以是绝对URL
&lt;Param name="CtlPara" value="fileTypes=bmp,jpg,png"&gt;	//例子
...</pre>
  如果页面是直接调用dynaload.js,那么可能就是这样:<br>
<pre class='cpp'>insertUpload('AF', 'bgColor=white; fileTypes=bmp,jpg,png')</pre>
  CtlPara参数决定了如何在页面上展现Supcan Upload实例,在上面的例子中,参数串中可包含多个子串,子串间以 ";" 分隔。<br>
  可见参数串中包含了多个子串,子串间以 ";" 分隔,子串是以"name=value1,value2,..."方式书写的。<br>

<div id="Tag2"/><br><br><br>
  <font style='font-size:15pt'>2.函数</font><hr color=#2266ee size=1>
  Supcan Upload的函数是通过插件/加载项的 func( string funcname, string paras ) 函数间接调用的,Supcan Upload组件的可用funcname如下:<br>
    SetFiles<br>
    SetFileTypes<br>
    SetFileMaxKb<br>
    SetPictureMaxSize<br>
    GetFiles<br>
    GetFilename<br>
    fptUpload<br>
    httpUpload<br>
    httpPost<br>
    GetFileBase64<br>
    GetFileType<br>
    GetFileSize<br>
    GetPictureWidth<br>
    GetPictureHeight<br>
    Empty<br>
  函数使用方法和Supcan Freeform中Input控件非常相似,除了不需要第一个参数(ID参数),其它参数和返回值和Upload Input控件几乎一样,请参见<a href="freeform1.htm?81#Tag1202" target=_blank>Supcan Freeform组件-函数</a>中的Upload部分.<br>
  此外,Upload还拥有一组和Treelist、Freeform完全一样的全局函数,请参见<a href="globalfunction.htm?81" target=_blank>全局函数</a>介绍。<br>
<br>

<div id="Tag3"/><br><br><br>
  <font style='font-size:15pt'>3.事件</font><hr color=#2266ee size=1>
  Supcan Upload的OnEvent( id, Event, p1, p2, p3, p4 )事件含义及参数分别如下:<br>
<div id="TagEvent"></div>
<b>备注</b>:如果是分块上传,是类似这样的串:"FileParts=33;CurrentFilePart=2;PassTime=00:02:33;RemainTime=00:01:30;Speed=50",其含义如下:<br>
  FileParts - 总块数;<br>
  CurrentFilePart - 刚上传的块序号;<br>
  PassTime - 已耗用的时间(时:分:秒);<br>
  RemainTime - 估计还需要时间(时:分:秒);<br>
  Speed - 测算到的网速,单位为 千字节/秒;<br>
  此外,如果是将一个目录压缩成zip包上传,那么第一个Upload消息肯定是“Compressed=true”.<br>

<br><br><br><br><br>
<script type='text/javascript' src='nstd.js'></script>
</body></html>