SWFUpload 使用Flash 影片(flash movie) 来选择和上传文件。影片里有一个可定制的按钮来激活文件选择对话框。文件选择对话框允许用户选择单一的文件或者多个文件。 选择的的文件类型也是可以被限制的,开发人员可以限定用户只能选择指定的适当的文件,例如*.jgp;*.gif。
一旦选择并点击确定,每个文件都会被验证,并放入队列。当Flash上传文件的时候,由开发人员预定义的Javascript事件会被触发以便来更新页面中的UI显示,并且还能实时提供上传状态和错误信息。 文件的上传是独立于页面和表单的。每个文件单独的上传到处理页面,这就使服务器可以简单轻松地处理文件。flash提供的上传服务使得整个页面不必提交或者刷新。这有点像AJAX程序。页面中的Form表单数据会和FLASH控制的文件上传单独处理。 SWFUpload是一个flash和js相结合而成的文件上传插件。 SWFUpload的特点: 1、用flash进行上传,页面无刷新,且可自定义Flash按钮的样式. 2、可以在浏览器端就对要上传的文件进行限制. 3、允许一次上传多个文件,但会有一个上传队列,队列里文件的上传是逐个进行的,服务器端接收文件时跟普通的表单上传文件是一样的. 4、提供了丰富的事件接口供开发者使用. SWFUpload的文件上传流程: 1、引入相应的js文件 2、实例化SWFUpload对象,传入一个配置参数对象进行各方面的配置. 3、点击SWFUpload提供的Flash按钮,弹出文件选取窗口选择要上传的文件. 4、文件选取完成后符合规定的文件会被添加到上传的队列里. 5、调用startUpload方法让队列里文件开始上传. 6、文件上传过程中会触发相应的事件,开发者利用这些事件来更新ui、处理错误、发出提示等等. SWFUpload 包含4部分: 初始化和设置 (JavaScript) JavaScript 库: SWFUpload.js Flash控件: swfupload.swf 和 swfupload_fp9.swf 事件处理机制 (JavaScript) 许多使用 SWFUpload 的问题都出在设置上。错误的事件处理, Flash/浏览器的Bug,或者服务器配置。
|
|