`

uploadify3.0 与 struts2结合

 
阅读更多
		$("input[id][id^='file_']").each(function(i,obj) {
			$(obj).uploadify({
				'langFile'		: '${ctx}/static/js/jquery-uploadify/uploadifyLang_zh.js',
				'swf'      		: '${ctx}/static/js/jquery-uploadify/uploadify.swf',
				'uploader'		: '${ctx}/powerword/powerword_ajaxUpload.do',//servlet的路径或者.jsp 这是访问servlet 'scripts/uploadif' 
				'method'         : 'get',
				'postData'		: {'id':'${powerword.id}','audioId':''+$(obj).attr("id")},
				'fileObjName'   : 'uploadify',//和input的name属性值保持一致就好,Struts2就能处理了   
				'cancelImage'    : '${ctx}/static/js/jquery-uploadify/uploadify-cancel.png',
				'auto'           : true, //选定文件后是否自动上传,默认false
				'multi'          : false, //是否允许同时上传多文件,默认false
				'queueID'		: "fileList_"+$(obj).attr("id"),
				'debug'			: false,
				'removeCompleted': false,
				'requeueErrors'	: false,
				'progressData'	: "all",
				'queueSizeLimit' : 1, //限制在一次队列中的次数(可选定几个文件)。默认值= 999,而一次可传几个文件有 simUploadLimit属性决定。
				'fileSizeLimit'	: 50*1024*1024, //设置单个文件大小限制,单位为byte ,50M
				'fileTypeDesc'   : '支持格式:mp3', //如果配置了以下的'fileExt'属性,那么这个属性是必须的 
				'fileTypeExts'   : '*.mp3',//允许的格式
				onUploadSuccess : function(file,data,response) {	
				   	if(data){
				   		var mp3 = eval('(' + data + ')');
						$("#label_"+$(obj).attr("id")).text(mp3.path);
				   	}
				},
				onUploadError : function(file,errorCode,errorMsg,errorString,swfuploadifyQueue) {
					$("#dialog-message").html(errorString);
				}
			});
		});

 

 

<input id='file_listenAudio' name='uploadify' type='file'/>

 

 

public class PowerwordAction extends Struts2BaseAction {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private File uploadify;
                private String uploadifyContentType;
                private String uploadifyFileName;

	/**
	 * 配合uploadify插件使用的上传方法。
	 *
	 * @author liwei
	 * @return
	 * @throws Exception 
	 */
	private String uploadify() throws Exception{
		
		
		
		Date date = new Date();
		DateFormat df = new SimpleDateFormat("yyyy-M-d");
		String today = df.format(date);

		String path = "/upload/audio/powerword/" + today;
		File folder = new File(ServletActionContext.getServletContext().getRealPath(path));
		String filePath = path + "/" + UUID.randomUUID().toString().replaceAll("-", "") + ".mp3";
		if (!folder.exists())
			folder.mkdirs();

		File outFile = new File(ServletActionContext.getServletContext().getRealPath(filePath));
		FileOutputStream outStream = new FileOutputStream(outFile);
		FileInputStream inStream = new FileInputStream(uploadify);
		byte[] buffer = new byte[1024];
		int l = 0;
		while ((l = inStream.read(buffer)) > 0) {
			outStream.write(buffer, 0, l);
		}
		inStream.close();
		outStream.close();

		return filePath;
	}
}

 

	<package name="powerword" extends="sessionControl">
		<action name="powerword_ajaxUpload" class="powerwordAction" method="ajaxUpload">
			<interceptor-ref name="fileUpload">
				<param name="maximumSize">102400000</param>
				<param name="allowedTypes">audio/mp3,application/octet-stream</param>
			</interceptor-ref>
			<interceptor-ref name="sessionStack"/>
		</action>
	</package>

 

 

	<filter>
		<filter-name>struts2Filter</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts2Filter</filter-name>
		<url-pattern>*.do</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
	</filter-mapping>

	<filter-mapping>
		<filter-name>struts2Filter</filter-name>
		<url-pattern>*.jsp</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
	</filter-mapping>

 

 

一开始查了N多资料没有对3.0的文章,3.0与2.0+不一样的地方就是fileObjName这个属性的名字换了

还有可能我的struts2的配置跟网上的不太一样,最后调试了很长时间才调试通过

分享到:
评论
6 楼 sa360430 2013-09-04  

${ctx}/static/js/jquery-uploadify/uploadifyLang_zh.js
楼主,这个中文包可以贴出来么,最新的!谢谢
5 楼 xiaoxiao_yufei 2012-12-06  
     
用uploadify 3.1版本的同志们,请注意:fileObjName属性啊!!!如果anction里面接受到的文件是null,就是这个属性引起的!!!!好多人贴的代码,都是fileDataName,坑爹啊!!!我看了插件的源代码啊,2k行左右啊!
4 楼 jackyrong 2012-08-22  
想问下,我的是struts2+uploadfit 3.1,文件能上传成功,
上传的时候,另外用formdata传递了表单的其他参数到sturts2的后台,
struts2的后台也能接受到文件,只不过struts2返回的是一个json(把表单的
另外的传递的参数原样子以JSON输出到前端而已,在uploadfiy
中,DEBUG模式下,也看到有:
File ID: SWFUpload_0_0 Response Received: true Data: {"version":"fdgfg"}

的字样,但是用:
'onUploadSuccess'  : function(event, ID, fileObj, response, data) {
  var mp3 = eval('(' + data + ')'); 
alert(data);
   alert('The file ' + fileObj.name + ' was successfully uploaded with a response of ' + response + ':' + data);
 
  }

打印出来的data和response都是空的?
3 楼 fengzhiyu_sh 2012-05-15  
'postData'      : {'id':'${powerword.id}','audioId':''+$(obj).attr("id")},
Struts2的Action中貌似无法获得传过来的参数啊?
2 楼 ferlycreator 2012-05-09  
谢谢。   
1 楼 solojava 2012-05-01  
支持!"fileObjName"这个属性的确浪费很多时间.

相关推荐

    uploadify3与struts2结合实现有进度条文件上传实例

    这是根据uploadify3 2结合struts2搭建的文件上传环境 可以直接导入eclipse运行 每步实现基本都加了注释 以下是我碰到的问题: 1 判断session是否失效 本实例没测试这个问题 但在工作项目中碰到了 但原因在这里...

    uploadify3.0 strtus2 dwr3整合例子

    标题中的"uploadify3.0 strut2 dwr3整合例子"指的是一个基于Web开发的示例项目,它结合了三个关键的技术组件:Uploadify 3.0、Struts2和DWR3。这个项目旨在展示如何在实际应用中有效地集成这些工具,以便实现文件...

    Asp.net uploadify3.0例子 uploadify3.0 Demo 详解 修正3.0BATE原有BUG

    这是我自己写的一个Asp.net uploadify3.0例子 uploadify3.0目前只有Bate版本,而且存在一点BUG 我已经修改好了这些BUG 因为3.0版本的事件和用法和之前的版本有区别,所以特意写的一个包含上传,下载,删除的简单例子...

    uploadify 3.0 php 版本 (经修改)

    uploadify 3.0 php 版本 (经修改) 原来多文件 不可以自动全部上传 修正 加入 取消函数 可取消所有

    Jquery uploadify 3.0 Flash 上传 包含完整示例

    本文将详细介绍jQuery Uploadify 3.0的核心特性、工作原理以及如何结合实际项目构建完整的上传示例。 一、核心特性 1. 多文件选择:Uploadify允许用户一次性选择多个文件进行上传,极大地提升了用户交互体验。 2. ...

    uploadify 3.0 上传 php批量上传 加水印和图片等比缩截取

    Uploadify 3.0 是一个基于jQuery的前端文件上传插件,它允许用户批量上传文件,极大地提高了上传效率。在本项目中,该插件已经进行了功能扩展,加入了水印和图片等比缩放及截取功能,为用户提供了一站式的图片处理...

    Uploadify结合Struts2上传demo

    本教程将围绕"Uploadify结合Struts2上传demo"这一主题,详细介绍如何在Struts2框架下集成Uploadify实现文件上传功能。 首先,我们需要在项目中引入Uploadify的相关资源。这通常包括JavaScript库(uploadify.js)和...

    Struts2uploadify3.1

    将Uploadify与Struts2整合,主要步骤包括: 1. **引入依赖**:在项目中添加Uploadify的JavaScript库和CSS文件,以及Struts2相关的jar包。 2. **配置Action**:创建一个处理文件上传的Struts2 Action,该Action需要...

    jquery.uploadify3.2在struts2中使用的完整工程

    这个完整的工程是将Uploadify与Struts2框架结合,以Java后端作为处理服务器端请求的核心,实现文件上传功能。 ### 1. jQuery Uploadify 3.2 Uploadify 3.2是基于jQuery的一个强大的文件上传组件,其主要特性包括:...

    struts2 +jquey uploadify3.2 实现多文件上传

    struts2 +jquey uploadify3 2 实现多文件上传 可以运行的myeclipse工程 绝对好用 访问方式http: 127 0 0 1:8080 Struts2Uploadify upload jsp uploadify 使用说明: &lt;a href &quot;javascript:$ &quot;#file ...

    jquery.uploadify+Struts2整合配置

    在IT领域,jQuery Uploadify与Struts2的整合是一个常见的前端文件上传解决方案。这个整合能够为Web应用提供高效、用户友好的文件上传功能。现在,我们来深入探讨这个主题。 首先,jQuery是一个轻量级、高性能的...

    uploadify-v3.0.0

    Uploadify 是一个流行的JavaScript插件,它允许用户在网页上实现多文件上传功能。Uploadify v3.0.0是该插件的一个较新版本,提供了优化的性能和更多的自定义选项,使得文件上传体验更加流畅和高效。下面将详细讨论...

    jQuery_Uploadify_3.0_上传插件使用说明

    ### 使用jQuery Uploadify 3.0进行文件上传的详尽指南 #### 一、简介 jQuery Uploadify是一款基于Flash技术的文件上传插件,旨在简化前端文件上传过程,提供友好的用户界面。此插件支持多种文件上传方式,并且可以...

    Uploadify Struts2 上传实现

    【标题】"Uploadify Struts2 上传实现"涉及到的是在Java Web开发中,使用Uploadify插件结合Struts2框架来实现文件上传的功能。Uploadify是一款基于jQuery的前端文件上传插件,它允许用户通过异步方式上传多个文件,...

    uploadify struts2实现图片上传

    本篇文章将深入探讨如何使用uploadify这款jQuery插件与Struts2框架结合,实现图片的上传功能。 首先,uploadify是一款强大的前端文件上传插件,它基于JavaScript库jQuery,提供了丰富的自定义选项和友好的用户界面...

    struts2结合uploadify上传进度条

    要实现"struts2结合uploadify上传进度条",首先你需要确保已安装并配置好Struts2框架。这包括在项目中引入Struts2的核心库,以及配置struts.xml文件,定义Action类和结果类型。 1. **集成Uploadify**: - 在你的...

    uploadify和struts2工程实例

    将uploadify与Struts2结合,可以创建高效、用户友好的文件上传系统。以下是对这个工程实例的详细说明。 首先,`uploadify`插件提供了异步上传的功能,用户可以选择多个文件并一次性上传,无需等待每个文件完全上传...

    uploadify+struts2多文件上传

    代码使用Struts2框架和uploadify插架实现多文件上传功能。

    uploadify+struts2多文件上传实例

    `uploadify`与`Struts2`结合的多文件上传实例就是一个典型的解决方案,尤其针对跨浏览器兼容性问题,如在Firefox下的session问题。下面我们将深入探讨这两个技术以及它们如何协同工作。 `Uploadify`是一个基于...

    jquery+uploadify + struts2 + jsp 图片批量上传Demo

    开发者可以在JSP中嵌入Java代码,以便与Struts2框架进行交互。 具体实现步骤如下: 1. 引入依赖:在项目中添加jQuery、Uploadify和Struts2的必要库文件,包括JavaScript、CSS和Struts2的jar包。 2. 创建HTML/JS...

Global site tag (gtag.js) - Google Analytics