`
weiqianghe
  • 浏览: 12773 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

spirngMVC +SWFUpload上传文件

阅读更多
1.Controller文件如下:

public ModelAndView upload(HttpServletRequest request,
			HttpServletResponse response) throws Exception{
		try{
			String uploadDir = getServletContext().getRealPath("/upload");
			File dirPath = new File(uploadDir);
			if (!dirPath.exists()) {
				dirPath.mkdirs();
			}
			
			MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
			CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("filedata");//这里是表单的名字,在swfupload.js中this.ensureDefault("file_post_name", "filedata");
			
			InputStream stream = file.getInputStream();
			String fileName = file.getOriginalFilename();
			fileName = new String(fileName.getBytes(),"utf-8");
			String fileNameFull = uploadDir + Constants.FILE_SEP + fileName;
			OutputStream bos = new FileOutputStream(fileNameFull);
			int bytesRead = 0;
			byte[] buffer = new byte[8192];
			while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
				bos.write(buffer, 0, bytesRead);
			}

			bos.close();
			// close the stream
			stream.close();
			
		}catch(Exception e){
			e.printStackTrace();
		}
		return new ModelAndView("checkReport/checkReportSearchTable");//这里要制定返回页,如果返回Null,上传没问题,但是上传完毕后,页面会弹出404错误
	}


2.在jsp页面引入两个必要的swfupload的JS文件:

<script type="text/javascript" src="scripts/js/swfupload.js"></script> 
<script type="text/javascript" src="scripts/js/handlers.js"></script> 

javaScript代码:

var swfu;
		window.onload = function(){
			swfu = new SWFUpload({
				// Backend Settings
				upload_url: "unitProductValueController.html?method=upload",	//上传或解析处理类的URL
                
				// File Upload Settings
				file_size_limit : 0, // 限制上传文件的大小, 0表示不受限制
				file_types : "*.xls;*.txt;*.pdf;*.doc;*.xlsx;*.docx",           // 上传文件类型,多个文件用分号隔开
				file_types_description : "", // 上传文件类型描述
				file_upload_limit : "0",    // 限制上传文件选择的个数, "0"表示不受限制
		
				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,         //上传完成调用的方法
				
				//post_params : {
				//	'state':'1234567'
				//},
				//post_params :{};

				// Button settings
			    button_image_url : "",	// Relative to the SWF file
			    button_placeholder_id : "spanButtonPlaceholder",//html标签ID,如DIV或SPAN
			    button_width: 100,
			    button_height: 22,
			    button_text : '<u>添加附件</u>',//生成的按钮内容
		    	button_text_style : '.button {font-size: 14pt;cursor:pointer;text-align:right} .buttonSmall { font-size: 10pt;cursor:pointer;text-align:right }',
			    button_text_top_padding: 1,
			    button_text_left_padding: 45,

				// Flash Settings
				flash_url : "<psmis:webRoot/>scripts/js/swfupload.swf",	// Relative to this file
				//上传或解析过程中,显示进度信息
				custom_settings : {
					upload_target : "divFileProgressContainer"
				},
				// Debug Settings
				debug: false
			});
		}

3.html表单:
<form action="unitProductValueController.html?method=upload" id="formMessage"  method="post" enctype="multipart/form-data">
 <table width="100%" id="messageTable" border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse" bordercolor="#1372A0">
 <tr> 
<td colspan="2" style="height:30px;"> 
<span id="enterpriseName"></span> 
</td> 
</tr> 
<tr> 
<td style="text-align:right">邮件类型:</td> 
<td style="height:30px;width: 80%;"> 
<span style="float:left;" id="messageTypeSpan"> 
<input type="radio" name="messageType" value="1" checked="checked" id="messageType1" style="border:0px"><label for="messageType1">催报邮件</label>
 <input type="radio" name="messageType" value="2" id="messageType2" style="border:0px"><label for="messageType2">重报邮件</label>
 </span> 
</td>    
</tr> 
<tr> 
<td   style="text-align:right">主题:</td> 
<td  style="height:30px;text-align:center"> 
<input type="text" name="subject" name="subject" style="width:98%"> 
</td> 
</tr> 
<tr> 
<td  style="text-align:right"> 
<div id="swfu_container" style="margin: 0px 5px;"> 
<div> 
<span id="spanButtonPlaceholder"></span> 
</div> 
</div> 
</td> 
<td  style="height:30px;"> 
<div id="divFileProgressContainer" style="height: 30px;float:left;margin-left:4px;"></div>
 </td> 
</tr> 
<tr> 
<td style="text-align:right;vertical-align:top;padding-top:3px;">邮件内容:</td> 
<td valign="top" > 
<textarea name="emailContent"   id="emailContent" style="height:150px;width:350px;border:0px solid  #000000;float:left "></textarea>
 <select multiple="multiple" id="consignee" name="consignee" size="9" style="vertical-align:top;float:right;margin-right:5px;width:120px;">
 <option>模板1</option> 
<option>模板2</option> 
<option>模板3</option> 
</select> 
</td> 
</tr> 
            <tr> 
<td  align="right" colspan="2"> 
<input type="button" name="ibtnSearch" value="发送" id="ibtnSearch" class="com_btn2"  onclick="saveMessage()"/>
 <input type="button" name="iBtnSaveQuery" value="重置" 
id="iBtnSaveQuery" class="com_btn2" onclick="document.getElementById('textarea').value='';" />
 </td> 
</tr> 
</table> 
</form> 

分享到:
评论

相关推荐

    java+struts+swfupload文件上传下载

    2. **创建Struts Action**:在Struts框架中创建一个Action类,用于接收SwfUpload上传的文件。这个Action需要继承自Struts的抽象类,并覆盖上传方法。 3. **处理上传请求**:在Action的上传方法中,使用Java的IO流...

    Struts+swfupload实现文件上传功能

    Struts和SwfUpload是两种在Web开发中用于构建强大功能的应用工具,它们结合使用可以实现高效的文件上传功能。在本文中,我们将深入探讨这两个组件以及如何将它们整合以实现文件上传。 首先,Struts是一个基于MVC...

    JQ + swfupload 多文件上传

    "JQ + swfupload 多文件上传"是一种使用JavaScript库jQuery(简称JQ)和Flash插件SwfUpload实现的多文件上传解决方案。下面将详细解释这一技术的实现原理、优势以及如何运用。 SwfUpload是一款开源的Flash上传组件...

    jquery+SWFUpload+COS上传组件的使用

    jquery+SWFUpload+COS上传组件的使用 jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件...

    php+swfupload+jquery上传文件,仿163邮箱上传

    - **编写jQuery交互**:使用jQuery监听SWFUpload的事件,例如文件开始上传、上传进度更新、文件上传成功或失败等,以更新UI状态。 - **PHP处理文件**:创建PHP脚本来接收SWFUpload发送的文件,验证文件大小、类型,...

    strut2+swfupload+extjs4文件上传

    本示例解决了strut2+swfupload+extjs4文件上传过程中,后台struts接收不到上传文件的问题。而这个问题如果用servlet做后台可能就不存在。开发者可以用本例源码移植到自己项目中使用 。

    asp+SwfUpload图片文件上传源码亲测很好用

    SwfUpload则是一个流行的JavaScript和Flash组合的文件上传组件,它允许用户通过富互联网应用程序(RIA)界面进行多文件上传,且具有进度条显示等功能,提高了用户体验。 SwfUpload的工作原理是利用Flash插件在...

    自制jquery+SWFUpload+COS 多文件上传组件

    在这个组件中,COS作为后端的文件存储解决方案,接收并保存由SWFUpload上传的文件。 在实际使用中,开发者可能需要配置以下关键步骤: 1. **设置SWFUpload**: 配置SWFUpload的各项参数,如文件类型限制、最大文件...

    Ext.net+swfupload实现文件上传

    Ext.net+swfupload实现上传组件。 特点: (1)适合嵌入到Ext.net项目中。 (2)避免了Ext.net的上传控件的缺点。Ext.net中上传控件在文件上传到服务器后在判断后缀、大小是否符合要求,这样在网速限制的情况下用户...

    Struts2+SWFUpload上传文件并显示进度条

    SWFUpload是一款开源的Flash文件上传组件,它允许在浏览器端实现多文件选择、文件预览、文件上传进度显示等功能。在Struts2应用中集成SWFUpload,可以解决上传文件时无进度反馈的问题,提高用户交互性。 集成步骤...

    SpringMvc+SWFUpload实现文件异步上传

    在本文中,我们将深入探讨如何使用Spring MVC框架与SWFUpload库来实现文件的异步上传功能。异步上传能够显著提升用户体验,因为它允许用户在上传文件时继续使用其他页面功能,无需等待整个上传过程完成。 **Spring ...

    jquery+swfupload+servlet_多文件上传

    **jQuery + SWFUpload + Servlet 多文件上传技术详解** 在Web开发中,用户往往需要上传多个文件,例如图片、文档等。传统的HTML表单上传方式存在诸多限制,如文件大小限制、一次只能上传一个文件等。为了克服这些...

    Ext2+SwfUpload(最新版)构建文件上传框

    3. **处理事件**:注册`SwfUpload`的事件监听器,例如`fileQueued`、`uploadProgress`和`uploadComplete`,以便在文件被添加到队列、上传过程中和上传完成后执行相应的操作。 4. **集成到Ext2的布局**:将自定义组件...

    一个Ext2+SWFUpload做的图片上传对话框的例程

    总的来说,这个例程结合了`Ext2`的UI组件和`SWFUpload`的文件上传能力,提供了一种在Web应用中实现高级图片上传对话框的方法。理解并掌握这两个技术,对于开发具有高质量用户体验的文件上传功能是非常有帮助的。在...

    extjs3.4+swfupload上传

    在IT行业中,Web开发经常会遇到文件上传的需求,而"extjs3.4+swfupload上传"就是一个典型的前端文件上传解决方案。EXT JS 3.4是一款强大的JavaScript框架,用于构建富客户端应用程序,提供了丰富的组件库和强大的...

    Ext+swfupload实现多文件上传(java版)

    Ext+swfupload实现多文件上传(java版),是从MyEclipse工程中导出的war包,已通过测试,绝对能运行成功.

    Extjs3.3+swfUpload2.2实现多文件上传组件.pdf

    Extjs3.3+swfUpload2.2 实现多文件上传组件 Extjs3.3+swfUpload2.2 实现多文件上传组件是一种基于 Extjs3.3 和 swfUpload2.2 的文件上传解决方案。该组件可以实现多文件上传,具有良好的用户体验和可扩展性。 多...

    jquery+SWFUpload+COS上传组件的使用.doc

    jQuery + SWFUpload + COS(腾讯云对象存储)上传组件提供了一种高效、友好的文件上传解决方案。本文档旨在详细介绍如何使用这个组合实现高效的文件上传功能。 **1. 组件介绍** jQuery是一个广泛使用的JavaScript...

    swfupload(jsp+flash文件上传)

    SwfUpload 是一款开源的文件上传组件,它结合了Java Server Pages (JSP) 和Adobe Flash技术,提供了一种在Web应用中实现高效、用户体验友好的文件上传方式。这款组件在早期的Web开发中非常流行,因为它允许用户通过...

Global site tag (gtag.js) - Google Analytics