【SWFUpload下载】SWFUpload客户端 v2.5.0 官方中文版
软件介绍
SWFUpload是一款由flash和js相结合而成的客户端文件上传工具,这款软件拥有非常丰富多样的功能,我们不仅可以通过这款软件来进行文件的上传工作。而且SWFUpload客户端还可以使用xhtml、css和javascript来对它的外观进行重新修改和设置。
SWFUpload软件简介
swfupload是一个客户端文件上传工具,最初由vinterwebb.se开发,它通过整合flash与java script技术为web开发者分享了一个具有丰富功能继而超越传统标签的文件上传模式。swfupload不同于其他基于flash构建的上传工具,它有着优雅的代码设计,开发者可以利用xhtml、css和javascript来随心所欲的定制它在浏览器下的外观;它还分享了一组简明的javascript事件,借助它们开发者可以方便的在文件上传过程中更新页面内容来营造各种动态效果。在使用swfupload之前,请确认你具备一定的javascript和dom知识。在实际开发中,大部分的错误都是由于错误的设置和低劣的event handlers处理程序所造成的。
软件特色
* 可以同时上传多个文件;
* 类似AJAX的无刷新上传;
* 可以显示上传进度;
* 良好的浏览器兼容性;
* 兼容其他JavaScript库 (例如:jQuery, Prototype等);
* 支持Flash 8和Flash 9;
SWFUpload不同于其他基于Flash构建的上传工具,它有着优雅的代码设计,开发者可以利用XHTML、CSS和JavaScript来随心所欲的定制它在浏览器下的外观;它还分享了一组简明的JavaScript事件,借助它们开发者可以方便的在文件上传过程中更新页面内容来营造各种动态效果。
在使用SWFUpload之前,请确认你具备一定的JavaScript和DOM知识。在实际开发中,大部分的错误都是由于错误的设置和低劣的Event Handlers处理程序所造成的。
SWFUpload软件功能
1.分享了丰富的事件接口供开发者使用
2.可以在浏览器端就对要上传的文件进行限制
3.用flash进行上传,页面无刷新,且可自定义flash按钮的样式
4.允许一次上传多个文件,但会有一个上传队列,队列里文件的上传是逐个进行的,服务器端接收文件时跟普通的表单上传文件是一样的
SWFUpload参数介绍
这里只提几个额外经常会用到的,一些边边角角的大家可以选择去看汉化官方文档
1.filedata,类似于表单上传控件的name属性,默认值为filedata。这里不建议修改,因为在linux下的flash,无论怎么修改这个值,都没有效果
2.post_params, post值。连同上传的文件一起提交到服务器上,这个东东也是比较有用的,比如可以验证用户是否允许上传文件等,另外可以用swfupload的 addpostparam/setpostparams/removepostparam/addfileparam/removefileparam方 法修改该值,通常在上传文件额外还需要提交表单信息的时候会特别管用
3.requeue_on_error, 是否将上传失败的的文件重新添加到上传队列的顶端,默认值为true。当文件上传失败或者停止上传触发uploaderror事件,是否将上传失败的的文 件重新添加到上传队列的顶端,当然调用cancelupload方法触发uploaderror事件,不会将文件重新添加到上传队列中,而是会丢弃
4.file_types, 限制上传的文件类型,这个是非常有用且重要的,默认值为*.*。另外当用户指向上传图片时可以设置 为”*.jpg;*.jpeg;*.gif;*.png;*.bmp;”。另外有一点非常重要的就是,这里只是浏览器端限制了上传的文件类型,服务端依然 要验证上传的文件类型,否则可能是很危险的
5.file_upload_limit,允许同时上传文件的数量,默认值为0,即不限制。当文件队列中的文件数,正在上传的文件以及已经上传成功的文件数只和超过了该值后,便不在允许添加文件
6.file_queue_limit,允许队列存在的文件数量,默认值为0,即不限制。当文件队列中的文件数超过该值便不再允许添加文件
7.button_action,点击swfupload按钮执行的动作,默认值为swfupload.button_action.select_files(多文件上传)
使用方法
1.首先引入相应的js文件
2.实例化swfupload对象,传入一个配置参数对象进行各方面的配置
3.点击swfupload分享的flash按钮,弹出文件选取窗口选择要上传的文件
4.文件选取完成后符合规定的文件会被添加到上传的队列里
5.调用startupload方法让队列里文件开始上传
6.文件上传过程中会触发相应的事件,开发者利用这些事件来更新ui、处理错误、发出提示等等
SWFUpload常见问题
■ 所上传的文件体积并未超出SWFUpload所设置的数值,但为何无法成功上传?
□ 通常这是由于服务器端的限制所造成的,以Apache+PHP为例,请修改php.ini中的post_max_size与upload_max_filesize两项设置。
■ 在带有Session验证的网站后台中SWFUpload无法正常工作?
□ 这是因为SWFUpload在上传时相当于重新开辟了一个新的Session进程,因此无法与原有程序的Session保持一致,这就需要在上传时传递原有程序的SessionID,根据它来“找回”其应有的Session。
■ 关于swfupload上传中文文件名乱码的问题
□ 实际上是由于编码的问题造成的,程序使用的utf-8,文件名传递时也是这种编码,因此造成乱码或文件不能保存,仅是需要修改接收文件,以PHP为例,upload.php中
$file_name = $_FILES[$upload_name]['name'];
$file_name=iconv(“UTF-8″,”GB2312”,$file_name);
这样即可解决。
■ 客户端使用杀毒软件器或者是代理可能使发送的文件的完整性受到损害
下载仅供下载体验和测试学习,不得商用和正当使用。
发表评论