cancel(fileID, suppressEvent)用途:
取消队列中的任务,不管此任务是否已经开始上传
参数说明: fileID要取消的文件ID,如果为空则取消队列中第一个任务,如果为'*'则取消所有任务 suppressEvent是否阻止触发onUploadCancel事件,当清空队列时非常实用
示例:
$('#file_upload').uploadify('cancel');// 取消第一个 $('#file_upload').uploadify('cancel','*');// 清空队列destroy() 用途:
销毁Uploadify实例并将文件上传按钮恢复到原始状态
示例:
$('#file_upload').uploadify('destroy');// 销毁Uploadify实例disable(setDisabled)用途:
禁用或启用文件浏览按钮
参数说明: setDisabled – 设置为true表示禁用,false为启用
示例:
$('#file_upload').uploadify('disable',true);// 禁用按钮settings(name, value, resetObjects)用途:
获取或设置Uploadify实例参数
参数说明: name – 属性名称,如果只提供属性名称则表示获取其值 value – 属性值 resetObjects – 设置为true时,更新postData对象将清空现有的值。否则,新的值将被添加到其末尾
示例:
$('#file_upload').uploadify('settings','buttonText','BROWSE');// 将按钮参数的值改为BROWSE $('#file_upload').uploadify('settings','buttonText'));// 获取到按钮参数的值stop()用途:
停止当前正在上传的任务
示例:
$('#file_upload').uploadify('stop');//停止上传upload(fileID)用途:
立即上传指定的文件,如果fileID为’*'表示上传所有文件,要指定上传多个文件,则将每个文件的fileID作为一个参数
示例:
$('#file_upload').uploadify('upload','*');// 开始上传所有文件第一步:页面随意设置一个id="file_upload"的html元素
<!-- 文件上传 --> <div id="file_upload"></div>说明:指定一个dom元素的id,该dom元素在uploadify初始化后会被Flash按钮代替,这个dom元素相当于一个占位符。
第二步:页面加载完毕后,绑定并设置参数
// 页面加载完毕后,才能获取到file_upload这个dom对象 $(function(){ $('#file_upload').uploadify({ // 参数配置 }); });加载成功,页面元素展示
方法一:get传参
方式一(正确方式):通过onUploadStart实现(推荐使用)
$('#file_upload').uploadify({ 'method', 'get', 'buttonText' : '添加文件', 'fileTypeExts' : '*.gif; *.jpg; *.png;*.pdf;*.zip;',// 文件类型限制 'fileTypeDesc' : '请选择gif jpg png pdf zip类型的文件',// 文件类型描述 'swf' : baseUrl + '/uploadify/flash/uploadify.swf',// flash插件 'uploader' : baseUrl + '/uploadFile.do',// 上传的文件请求处理 'onDialogClose' : function(queueData) {// 选择文件窗口关闭时,触发 }, 'onUploadStart' : function(file){// 文件上传前,触发 // 请求参数:上传每个文件的同时提交到服务器的额外数据,中文需要编码 $('#file_upload').uploadify("settings","formData",{ 'param1' : encodeURI('测试文件上传传参'), 'param2' : $('#aa').val()// 动态参数 }); }, 'onUploadSuccess' : function(file, data, response) {// 上传成功 window.open(baseUrl + '/fileList.jsp'); }, 'onUploadError' : function(file, errorCode, errorMsg, errorString) {// 上传失败 }, 'onFallback' : function(){// 文件上传按钮加载失败 alert("当前浏览器未安装或未启用flash插件,无法进行文件上传!"); } });方式二(错误实现方式):直接声明
直接声明 'formData' : {'param1': encodeURI('测试文件上传传参')},这种方式后台接收不到传递的参数。
方法二:post传参
方式一:通过onUploadStart实现(推荐使用)
$('#file_upload').uploadify({ 'method', 'post',// 默认值为post,可以不声明 'buttonText' : '添加文件', 'fileTypeExts' : '*.gif; *.jpg; *.png;*.pdf;*.zip;',// 文件类型限制 'fileTypeDesc' : '请选择gif jpg png pdf zip类型的文件',// 文件类型描述 'swf' : baseUrl + '/uploadify/flash/uploadify.swf',// flash插件 'uploader' : baseUrl + '/uploadFile.do',// 上传的文件请求处理 'onDialogClose' : function(queueData) {// 选择文件窗口关闭时,触发 }, 'onUploadStart' : function(file){// 文件上传前,触发 // 请求参数:上传每个文件的同时提交到服务器的额外数据,中文需要编码 $('#file_upload').uploadify("settings","formData",{ 'param1' : encodeURI('测试文件上传传参'), 'param2' : $('#aa').val()// 动态参数 }); }, 'onUploadSuccess' : function(file, data, response) {// 上传成功 window.open(baseUrl + '/fileList.jsp'); }, 'onUploadError' : function(file, errorCode, errorMsg, errorString) {// 上传失败 }, 'onFallback' : function(){// 文件上传按钮加载失败 alert("当前浏览器未安装或未启用flash插件,无法进行文件上传!"); } });方式二: 直接声明
'formData' : {'param1': encodeURI('测试文件上传传参')},
方式一对应的接收参数的方法为:
// 通过指定onUploadStart()获取参数 String param1 = request.getParameter("param1"); // 解码 param1 = URLDecoder.decode(param1, "utf-8");方式二对应的接收参数方法为:
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) { // 通过设置formData获取参数 DiskFileItemFactory factory = new DiskFileItemFactory(); ServletContext servletContext = this.getServletConfig().getServletContext(); File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir"); factory.setRepository(repository); ServletFileUpload upload = new ServletFileUpload(factory); try { List<FileItem> items = upload.parseRequest(req); // 7.对所有请求信息进行判断 Iterator<FileItem> iter = items.iterator(); while (iter.hasNext()) { FileItem item = iter.next(); // form表单格式 if (item.isFormField()) { String paramName = item.getFieldName(); if ("param1".equals(paramName)) { String paramValue = item.getString(); // 解码 paramValue = URLDecoder.decode(paramValue, "utf-8"); System.out.println("参数名:" + paramName + "=" + paramValue); } } else { // 文件格式处理 TODO } } } catch (Exception e) { e.printStackTrace(); } }推荐使用第一种方式进行传参;
不管是get传参还是post传参,参数值为中文时,都需要先进行编码,否则后台接收到的数据乱码(比如:使用encodeURI());
不管在初始化的时候,定义的uploadify对象,定义的是post还是get,最终是以post方式进行提交的。
第一步:设置参数
'auto' : false,
第二步:页面设置按钮
<div id="ctrlUpload"> <a href="javascript:;" οnclick="$('#file_upload').uploadify('upload', '*');" class="Button" οnmοuseοver="javascript:this.className='ButtonOver'" οnmοuseοut="javascript:this.className='Button'"> 上传所有 </a> <a href="javascript:;" οnclick="$('#file_upload').uploadify('cancel', '*');$('#ctrlUpload').hide();" class="Button" οnmοuseοver="javascript:this.className='ButtonOver'" οnmοuseοut="javascript:this.className='Button'"> 取消上传 </a> </div>
转载于:https://www.cnblogs.com/Marydon20170307/p/9406120.html
相关资源:jquery uploadify3.1 +java 文件上传/下载 插件的使用