教你使用swfupload带进度条多文件上传
来源:互联网 发布:java画图 编辑:程序博客网 时间:2024/06/16 04:04
首先我们直接去github搜索swfupload.下面是下载地址
https://github.com/danifbento/SWFUpload
下载好了以后我们只需要swfupload.js和swfupload.swf,handler.js这个文件我们可以不用。我们自己参照着自己编写。
下面是我的demo代码。首先是html上传界面。
<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <script type="text/javascript" src="__PUBLIC__/swfupload.js"></script> <title>文件上传测试</title> </head> <body> <buttton id="upload"></button> <script>var swfu;window.onload = function () {swfu = new SWFUpload({// Backend Settingsupload_url: "__APP__/Upload/upload",post_params: {},// File Upload Settingsfile_size_limit : "100 MB",// 2MBfile_types : "*.mp4",file_types_description : "JPG Images",file_upload_limit : 1,file_queue_error_handler : fileQueueError,file_dialog_complete_handler : fileDialogComplete,upload_progress_handler : uploadProgress,upload_error_handler : uploadError,upload_success_handler : uploadSuccess,upload_complete_handler : uploadComplete,// Button Settingsbutton_image_url : "",button_placeholder_id : "upload",button_width: 100,button_height: 40,button_text : '<span>点击上传图片</span>',//button_text_style : '.button { font-family: Helvetica, Arial, sans-serif; font-size: 12pt; } .buttonSmall { font-size: 10pt; }',button_text_top_padding: 0,button_text_left_padding: 18,button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,button_cursor: SWFUpload.CURSOR.HAND,// Flash Settingsflash_url : "__PUBLIC__/swfupload.swf",custom_settings : {upload_target : "divFileProgressContainer"},// Debug Settingsdebug: false});};function uploadProgress(file,load,total){console.log("uploadProgress:目前加载"+load+" 总数:"+total);}function uploadError(file, errorCode, message){console.log("uploadError:错误信息:"+message);}function uploadSuccess(file, serverData){console.log("上传成功:"+serverData);}function uploadComplete(file){console.log("上传完成");}function fileQueueError(file, errorCode, message) {try {var imageName = "error.gif";var errorName = "";if (errorCode === SWFUpload.errorCode_QUEUE_LIMIT_EXCEEDED) {errorName = "You have attempted to queue too many files.";}if (errorName !== "") {alert(errorName);return;}switch (errorCode) {case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:imageName = "zerobyte.gif";break;case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:imageName = "toobig.gif";break;case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:default:alert(message);break;}addImage("images/" + imageName);} catch (ex) {this.debug(ex);}}function fileDialogComplete(numFilesSelected, numFilesQueued) {try {if (numFilesQueued > 0) {this.startUpload();}} catch (ex) {this.debug(ex);}} </script> </body></html>handler.js里的内容我们已经直接写到了html里 所以不用引入handler.js了哦。
现在看看php后端上传代码。我采用的TP框架。
public function upload(){import('ORG.Net.UploadFile');$upload = new UploadFile();// 实例化上传类$upload->maxSize = 314572800000 ;// 设置附件上传大小$upload->allowExts = array('mp4');// 设置附件上传类型$upload->savePath = './Uploads/';// 设置附件上传目录if(!$upload->upload()) {// 上传错误提示错误信息echo $upload->getErrorMsg();}else{// 上传成功 获取上传文件信息echo "上传成功";}}我们再来看看浏览器调试结果。
再看看上传完成的调试结果
借助bootstreap的进度条样式。我们可以很容易的计算出当前进度。算法为
var m_progress = parseInt(load / total * 100, 10); progress.text(m_progress+"%");p.css("width",m_progress+"%");
0 0
- 教你使用swfupload带进度条多文件上传
- Struts+SwfUpload完成带进度条的文件上传
- 使用SWFUpload上传文件
- 使用SWFUpload上传文件
- 使用SWFUpload上传文件
- 使用SWFUpload上传文件
- 使用SWFUpload进行多文件上传
- swfupload多文件上传控件的使用
- swfupload多文件上传控件的使用
- 使用SWFUpload进行多文件上传
- swfupload多文件上传控件的使用
- SWFUpload介绍 使用SWFUpload上传文件
- SWFUpload介绍 使用SWFUpload上传文件
- swfupload多文件上传
- 带进度条文件上传
- 使用Ext js和SwfUpload实现批量文件上传(有上传进度条)
- 文件上传利器SWFUpload使用
- swfupload + commons-fileupload实现文件批量上传,带百分比进度条
- 汉诺塔问题之Python
- 拷贝到剪切板——一个flash实现、兼容性不错的js插件ZeroClipboard
- mybatis-generator逆向工程
- linux kmalloc函数分析
- STM32 PA0 PAB0 PC0 共用一个中断线的问题
- 教你使用swfupload带进度条多文件上传
- Problem I: 失恋的小T(后缀数组)
- Redis教程(四) 列表(LIST)类型
- 逻辑卷的管理
- listview的headerview中有edittext这类需要focus的控件时的处理
- 设计模式(五):原型模式
- 使用MVC模式+Servlet+JDBC开发后台
- jQuery上传插件Uploadify使用帮助
- 阿里巴巴2017实习生招聘数据研发工程师编程题2(字符串处理)