`
flowercat
  • 浏览: 361579 次
社区版块
存档分类
最新评论

基于Spring MVC的Ajaxupload

阅读更多
   大部分类基于SpringSide的Struts版本,提供了SpringMVC的multipartResolver。multipartResolver的配置如下:
<bean id="multipartResolver"
		class="com.xxx.xxx.AjaxFileUploadMultipartResolver">
		<property name="maxUploadSize">
			<value>104857600</value>
		</property>
		<property name="maxInMemorySize">
			<value>4096</value>
		</property>
</bean>


AjaxFileUploadMultipartResolver的核心代码如下:
public class AjaxFileUploadMultipartResolver extends CommonsMultipartResolver {
	public AjaxFileUploadMultipartResolver() {
		super();
	}

	public AjaxFileUploadMultipartResolver(ServletContext servletContext) {
		this();
		setServletContext(servletContext);
	}

	public MultipartHttpServletRequest resolveMultipart(
			HttpServletRequest request) throws MultipartException {
		String encoding = determineEncoding(request);
		FileUpload fileUpload1 = prepareFileUpload(encoding); 

		// Begin of added code
		UploadListener listener = new UploadListener(request, 3);
		request.getSession().setAttribute("uploadInfo",
				new UploadInfo(0, request.getContentLength(), 0, 0, "start"));
		FileItemFactory factory = new MonitoredDiskFileItemFactory(listener);
		ServletFileUpload fileUpload = new ServletFileUpload(factory);
		fileUpload.setSizeMax(fileUpload1.getSizeMax());
		fileUpload.setHeaderEncoding(fileUpload1.getHeaderEncoding());
		// end of added code

		try {
			List fileItems = ((ServletFileUpload)fileUpload).parseRequest(request);
			MultipartParsingResult parsingResult = parseFileItems(fileItems, encoding);
			return new DefaultMultipartHttpServletRequest(
					request, parsingResult.getMultipartFiles(), parsingResult.getMultipartParameters());
		}
		catch (FileUploadBase.SizeLimitExceededException ex) {
			throw new MaxUploadSizeExceededException(fileUpload.getSizeMax(), ex);
		}
		catch (FileUploadException ex) {
			throw new MultipartException("Could not parse multipart servlet request", ex);
		}
	}

}
分享到:
评论

相关推荐

    ajaxupload在spring mvc4.2中实现简单文件上传

    在Spring MVC 4.2框架中实现AjaxUpload(异步文件上传)是一个常见的需求,它允许用户在不刷新整个页面的情况下进行文件上传,提供更好的用户体验。以下是对这一主题的详细阐述: 1. **AjaxUpload简介**: Ajax...

    spring mvc ajax异步文件的上传和普通文件上传

    在Spring MVC框架中,文件上传是一项常见的功能,无论是普通的文件上传还是通过Ajax实现的异步文件上传,都为用户提供了更好的交互体验。本篇将详细讲解这两种方式的实现原理及步骤。 首先,让我们来理解一下普通...

    spring第11章--ajax,上传下载,拦截器.rar_spring mvc_spring 下载_spring 使用ajax

    在Spring MVC框架中,Ajax(Asynchronous JavaScript and XML)是一种常用的技术,用于在不刷新整个页面的情况下与服务器进行异步通信。本章将探讨如何在Spring MVC中集成和使用Ajax,以及涉及的上传和下载功能,...

    spring mvc文件上传实现进度条

    这个场景通常涉及到前端的JavaScript或jQuery库(如jQuery File Upload)与后端的Spring MVC控制器之间的交互,以及可能的多线程处理来跟踪文件上传的进度。接下来,我们将深入探讨如何在Spring MVC中实现这一功能。...

    spring mvc上传文件

    在本文中,我们将深入探讨如何使用Spring MVC框架与Ajax技术结合来实现文件上传的功能。Spring MVC是Spring框架的一部分,提供了一种模型-视图-控制器(MVC)架构模式,用于构建Web应用程序。Ajax(Asynchronous ...

    spring mvc 上传文件显示进度

    在Spring MVC中实现文件上传并显示进度是一项常见的需求,特别是在用户需要等待较长时间的大型文件上传时。这个功能可以通过监听文件上传的进度并在前端实时更新来提升用户体验。下面将详细介绍如何利用Spring MVC...

    spring mvc 自學筆記

    ### Spring MVC 与 AJAX/JSON #### 使用 JSON 和 AJAX 在 Spring MVC 中,可以轻松地与 AJAX 结合,实现异步数据交换。对于 JSON 数据的处理,Spring 提供了内置的支持。 - **使用 `@RequestBody` 和 `@...

    spring mvc上传 下载

    在IT行业中,Spring MVC是一个广泛使用的Java框架,用于构建基于模型-视图-控制器(MVC)模式的Web应用程序。本文将深入探讨Spring MVC在文件上传和下载方面的应用,以及如何结合FineUploader和jQuery实现这一功能。...

    ssm整合+ajaxUpload文件上传

    SSM整合指的是Spring、Spring MVC和MyBatis三个框架的集成,这在...它利用Spring MVC处理HTTP请求,MyBatis处理数据库操作,而AjaxUpload则负责前端的异步文件上传,使得整个过程无缝衔接,提高了开发效率和应用性能。

    spring mvc+hibernate 图片存储至blob

    前端页面通过Ajax或者表单提交的方式向Spring MVC的Controller发送请求,从而触发图片上传和存储的完整流程。 总结起来,"spring mvc+hibernate 图片存储至blob"这个主题涉及到Spring MVC处理文件上传、Hibernate将...

    spring mvc thumbnailator +jcrop 实现头像裁剪

    本项目以"Spring MVC Thumbnailator + Jcrop 实现头像裁剪"为主题,旨在提供一种高效且直观的用户头像裁剪解决方案。这个项目可以直接应用于你的应用开发中,无需从零开始搭建相关功能。 首先,Spring MVC 是一个...

    layui 图片上传+表单提交+ Spring MVC的实例

    在本实例中,我们主要探讨了如何利用Layui库进行图片上传,同时结合表单提交和Spring MVC框架实现后端处理。Layui是一个轻量级的前端组件库,提供了丰富的UI组件,包括上传功能。以下是具体的知识点: 1. **Layui...

    spring mvc 上传(ajaxfileupload.js)、下载

    使用`ajaxfileupload.js`,你需要配置一个AJAX请求,指定URL(对应Spring MVC控制器中的处理方法)和文件输入字段名,然后监听其返回的结果,以处理成功或失败的情况。 文件下载则是另一个常见的需求。在Spring MVC...

    上传图片springMVC和ajax

    SpringMVC是一个基于Spring框架的模型-视图-控制器(MVC)架构,它简化了后端开发,而Ajax(Asynchronous JavaScript and XML)则允许前端实现页面的异步更新,提升了用户体验。现在我们来深入探讨这两种技术在上传...

    Spring MVC 文件上传下载 后端 - Java.zip

    在Java Web开发中,Spring MVC框架是一个非常流行的用于构建企业级应用的模型-视图-控制器(MVC)架构。这个压缩包“Spring MVC 文件上传下载 后端 - Java.zip”很可能包含了关于如何在Spring MVC中实现文件上传和...

    spring mvc 附件上传至腾讯云qcloud

    在Spring MVC中实现附件上传至腾讯云QCloud的过程涉及到多个技术环节,包括前端表单提交、后端控制器处理、文件存储策略以及与QCloud SDK的交互。以下将详细阐述这一过程中的关键知识点。 1. **Spring MVC基础知识*...

    uploadify [解决spring MVC上传配置冲突]

    本项目着重解决如何在Spring MVC框架下配置并使用Uploadify,同时避免与Spring MVC自身的文件上传配置发生冲突。 首先,我们需要理解`Spring MVC`的文件上传机制。Spring MVC通过`MultipartResolver`接口处理多部分...

    webuploader与springmvc集成

    `WebUploader`是一款优秀的JavaScript文件上传组件,而`Spring MVC`是Java领域广泛使用的MVC框架,它们的集成可以帮助开发者轻松实现前端到后端的文件上传流程。本文将详细介绍如何将`WebUploader`与`Spring MVC`...

    dropzone上传文件结合SpringMVC

    在本文中,我们将深入探讨如何将前端的Dropzone.js库与后端的Spring MVC框架结合,以实现一个高效且用户友好的文件上传功能。Dropzone.js是一个轻量级的JavaScript库,它为用户提供了一个直观的拖放界面,使得文件...

    Ajax实现文件上传功能(Spring MVC)

    本文将详细介绍如何使用Ajax和Spring MVC实现文件上传的功能。 首先,我们需要创建一个HTML表单,允许用户选择要上传的文件。在描述中给出的前端代码片段中,可以看到一个id为`form-avatar`的表单,它使用`enctype=...

Global site tag (gtag.js) - Google Analytics