upload.htm
3.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<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>中叙述的插件/加载项的页面创建语法创建,
<Object>中的某几个Param参数规则如下:<br>
<pre class='xml'>
<Object ...(略)>
<Param name="CtlName" value="<Font color=red>BCV1.Upload</Font>"> //固定
<Param name="ZipUrl" value="<Font color=red>BCV1.bin</Font>"> //也可以是绝对URL
<Param name="CtlPara" value="fileTypes=bmp,jpg,png"> //例子
...</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>