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”.