Supcan Upload组件


  和Edit组件一样,Upload组件也是从Freeform组件中分离出来的,可单独用于页面中,实现本地文件的上传。
  文件上传支持ftp、http put、http post传输协议,并且通过参数可以限制上传文件的个数、尺寸、zip压缩、图片大小等等常见项。

注:服务器通常是需要配置的,常用的Windows 2003的IIS服务器配置要点:
1.允许虚拟目录的“写权限”;
2.建议设定安全帐号,简单的方法是集成Windows身份验证;
3.如果是采用http PUT上传,应在Web服务扩展中,允许WebDAV;




  1.创建实例
  Supcan Upload组件是通过插件/加载项创建的,所以应该用使用指南 \ 页面语法中叙述的插件/加载项的页面创建语法创建, <Object>中的某几个Param参数规则如下:
<Object ...(略)>
<Param name="CtlName" value="BCV1.Upload">  //固定
<Param name="ZipUrl" value="BCV1.bin">	  //也可以是绝对URL
<Param name="CtlPara" value="fileTypes=bmp,jpg,png">	//例子
...
  如果页面是直接调用dynaload.js,那么可能就是这样:
insertUpload('AF', 'bgColor=white; fileTypes=bmp,jpg,png')
  CtlPara参数决定了如何在页面上展现Supcan Upload实例,在上面的例子中,参数串中可包含多个子串,子串间以 ";" 分隔。
  可见参数串中包含了多个子串,子串间以 ";" 分隔,子串是以"name=value1,value2,..."方式书写的。



  2.函数
  Supcan Upload的函数是通过插件/加载项的 func( string funcname, string paras ) 函数间接调用的,Supcan Upload组件的可用funcname如下:
    SetFiles
    SetFileTypes
    SetFileMaxKb
    SetPictureMaxSize
    GetFiles
    GetFilename
    fptUpload
    httpUpload
    httpPost
    GetFileBase64
    GetFileType
    GetFileSize
    GetPictureWidth
    GetPictureHeight
    Empty
  函数使用方法和Supcan Freeform中Input控件非常相似,除了不需要第一个参数(ID参数),其它参数和返回值和Upload Input控件几乎一样,请参见Supcan Freeform组件-函数中的Upload部分.
  此外,Upload还拥有一组和Treelist、Freeform完全一样的全局函数,请参见全局函数介绍。




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