- 本章节将假设您已了解以下内容:
- 嵌入SWF的几种方式
- Flash播放器参数
- 动态发布方式
- 静态发布方式
- Requires:
- KISSY CORE
- Flash package
- Editors:
- 龙藏,Taobao,Inc
由于 flash player 自身安全因素限制,浏览本地文件需要通过 用户行为激发 swf 实例,请通过覆盖按钮方式实现本地浏览文件功能。
Properties(Static)
version - String
版本信息
Constructor
Uploader
Uploader(id, config)
构造函数
创建一个 Uploader 对象
- Parameters:
-
id<String>指定的 SWF 的 id。 -
config<String>|<Array>指定Flash的一些配置信息。
Uploader 的 config 新增以下可配置属性:
| 属性 | 默认值 | 说明 |
|---|---|---|
ds:String |
null |
指定默认上传服务器接收地址。可以由upload() 方法动态指定服务器地址。请保证至少通过一种形式配置。default server 的缩写 |
dsp:Object |
null |
服务器传参。default server parameters 的缩写。 |
dsr:Boolean |
false |
服务器端是否会在上传完毕后传回数据。 default server response 的缩写 |
btn:Boolean |
false |
启用按钮模式。该模式下会激发鼠标事件。 |
hand:Boolean |
false |
启用手型指针。鼠标显示为手型。 |
Properties
Methods
setFileFilters
void setFileFilters(fileFilters)
过滤在对话框中显示的文件。如果省略此参数,则显示所有文件
- Parameters:
-
fileFilters<Array>这是个复合数组,每项至少包含以下 desc 或 description 和 ext 或 extension 2个属性。可选。指文件上传的指定后缀名组。组中每项是个Object。默认为空,即可以上传任意文件。若约定了过滤后缀名则必需保证每个Object传递具备如下属性的Obejct:{ des:"对过滤规则的描述", ext:"扩展文件名,以类似*.jpg的方式约定"}。
示例
// 仅显示 JPG或JPEG图片 或 文本文件
uploader.setFileFilters([{desc:"JPG,JPEG",ext:"*.jpg;*.jpeg"},
{desc:"TEXT",ext:"*.txt"}]);
filter
void filter(fileFilters)
setFileFilters 的别名
setAllowMultipleFiles
void setAllowMultipleFiles(allowMultipleFiles)
启用多文件选择及上传功能
- Parameters:
-
allowMultipleFiles<Boolean>指定是否支持多文件选择
multifile
void multifile(allowMultipleFiles)
setAllowMultipleFiles 的别名
browse
Boolean browse(mulit, fileFilters)
配置浏览文件方式。相当同时使用 setAllowMultipleFiles() 和 setFileFilters()
注意,此函数为配置函数,真正意义上的浏览本地文件需要通过 点击 swf 实现 。
- Parameters:
-
mulit<Boolean>同 setAllowMultipleFiles() -
fileFilters<Array>同 setFileFilters()
upload
Boolean upload(fileID, serverURL,method,serverURLParameter,hasResponse,uploadDataFieldName)
上传指定的单个文件
- Parameters:
-
fileID<String>文件id -
serverURL<String>上传服务URL -
method<String>指上传提交方式 GET or POST -
serverURLParameter<Object>服务器参数。必需是 key-value 对象。 -
hasResponse<Boolean>服务端是否有应答数据 -
uploadDataFieldName<String>POST操作数据属性。默认是Filedata不需要更改,请务必保持此指不为空或空字符串 - Returns:
-
<Boolean>当上传功能被锁、用户没有选择文件、用户不允许使用上传功能等障碍,则会不返回 false。
// 仅显示 JPG或JPEG图片 或 文本文件
uploader.upload(fileID,
"http://127.0.0.1:8080/upload.php",
"POST",
{
username:"user",
password:"1297ew9jd23888s834u3j2u38"
},
false);
uploadAll
Boolean uploadAll(serverURL,method,serverURLParameter,hasResponse,uploadDataFieldName)
上传所有文件
- Parameters:
-
serverURL<String>上传服务URL -
method<String>指上传提交方式 GET or POST -
serverURLParameter<Object>服务器参数。必需是 key-value 对象。 -
hasResponse<Boolean>服务端是否有应答数据 -
uploadDataFieldName<String>POST操作数据属性。默认是Filedata不需要更改,请务必保持此指不为空或空字符串 - Returns:
-
<Boolean>当上传功能被锁、用户没有选择文件、用户不允许使用上传功能等障碍,则会不返回 false。
// 仅显示 JPG或JPEG图片 或 文本文件
uploader.uploadAll("http://127.0.0.1:8080/upload.php",
"POST",
{
username:"user",
password:"1297ew9jd23888s834u3j2u38"
},
false);
cancel
void cancel(fileID)
取消正在上传中的文件。如果没有指定 fileID 则取消所有正在上传的文件
- Parameters:
-
fileID<String>文件 id 可选。
getFile
Object getFile(fileID)
获取指定文件 id 下的文件信息
- Parameters:
-
fileID<String>文件 id 。 - Returns:
-
<Object>返回文件信息对象。见 下表 :
| 属性 | 说明 |
|---|---|
cDate:Date |
文件创建日期 |
mDate:Date |
文件修改日期。 |
name:String |
文件名 |
size:Number |
文件大小。单位:字节 |
type:String |
文件类型。 |
id:String |
文件 id。 |
removeFile
Object removeFile(fileID)
按文件 id 删除指定文件
- Parameters:
-
fileID<String>文件 id 。 - Returns:
-
<Object>返回文件信息对象。见 下表 :
| 属性 | 说明 |
|---|---|
cDate:Date |
文件创建日期 |
mDate:Date |
文件修改日期。 |
name:String |
文件名 |
size:Number |
文件大小。单位:字节 |
type:String |
文件类型。 |
id:String |
文件 id。 |
lock
void lock()
锁定上传组件,不再允许浏览器本地文件。
unlock
void unlock()
解锁上传组件,允许浏览器本地文件
setBtnMode
void setBtnMode(allow)
设置按钮模式。
- Parameters:
-
allow<Boolean>布尔值为 true 时,则 swf 实例将会 产生鼠标事件。
useHand
void useHand(allow)
设置鼠标手势。
- Parameters:
-
allow<Boolean>布尔值为 true 时,则 鼠标移动到 swf 实例上鼠标则会成为手型。
clear
void clear()
清空所有已选择和正在上传文件。
JS Events
SWF Event
来自 SWF 定义的事件
contentReady
SWF 内容准备就绪。
仅在动态发布方式有该事件。
fileSelect
当单个文件或多个文件时触发。
此事件具有以下属性:
| 属性 | 类型 | 备注 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
fileList |
Array |
文件数组。每个数组项包含属性见下表
|
browseCancel
浏览文件浏览取消。
uploadLock
成功锁定。
uploadUnlock
成功解除锁定。
uploadClear
成功清空。
uploadStart
开始上传。
此事件具有以下属性:
| 属性 | 类型 | 备注 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
file |
Object |
当前上传文件对象
|
uploadProgress
数据存储状态。
实例报告其状态或错误条件时调度。一般不会激发。
此事件具有以下属性:
| 属性 | 类型 | 备注 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bytesLoaded |
Number |
当前文件已上传字节 | ||||||||||||||
bytesTotal |
Number |
当前文件总字节 | ||||||||||||||
file |
Object |
当前上传文件对象表
|
uploadComplete
上传完毕且无返回数据时触发。
当配置服务器有数据返回,则此事件不予激发,和 uploadCompleteData 事件互斥。
此事件具有以下属性:
| 属性 | 类型 | 备注 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
file |
Object |
当前上传文件对象
|
uploadCompleteData
上传完毕且返回数据时触发。
当配置服务器无数据返回,则此事件不予激发,和 uploadComplete 事件互斥。
此事件具有以下属性:
| 属性 | 类型 | 备注 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data |
String |
服务器传回数据 | ||||||||||||||
file |
Object |
当前上传文件对象
|
uploadError
上传组件错误。
此事件具有以下属性:
| 属性 | 类型 | 备注 |
|---|---|---|
message |
String |
描述 |
dump |
Array |
临时数据栈 |
listComplete
上传文件列表全部上传完成。
mouseOver
鼠标悬停。
mouseDown
鼠标按下。
mouseUp
鼠标弹起。
mouseOut
鼠标移开。
click
鼠标单击。
Properties(Static)
Constructor
Methods
- setFileFilters
- filter
- setAllowMultipleFiles
- multifile
- browse
- upload
- uploadAll
- cancel
- getFile
- removeFile
- lock
- unlock
- setBtnMode
- useHand
- clear
