可以在controller(spring mvc) 或者 action (struts mvc)
中直接使用CommonsMultipartResolver
-
-
...Controller...{
-
-
-
CommonsMultipartResolvercommonsMultipartResolver=new
-
CommonsMultipartResolver(request.getSession().getServletContext());
-
-
commonsMultipartResolver.setDefaultEncoding(”utf-8″);
-
-
if(commonsMultipartResolver.isMultipart(request))
-
{
-
-
MultipartHttpServletRequestmultipartRequest=
-
commonsMultipartResolver.resolveMultipart(request);
-
-
-
-
MultipartFilefile=multipartRequest.getFile("file");
-
-
-
FileimageFile=newFile("fileName");
-
-
file.transferTo(imageFile);
-
-
}
-
}
-
-
...Controller...{
-
-
-
CommonsMultipartResolvercommonsMultipartResolver=new
-
CommonsMultipartResolver(request.getSession().getServletContext());
-
-
commonsMultipartResolver.setDefaultEncoding(”utf-8″);
-
-
if(commonsMultipartResolver.isMultipart(request))
-
{
-
-
MultipartHttpServletRequestmultipartRequest=
-
commonsMultipartResolver.resolveMultipart(request);
-
-
-
-
MultipartFilefile=multipartRequest.getFile("file");
-
-
-
FileimageFile=newFile("fileName");
-
-
file.transferTo(imageFile);
-
-
}
-
}
也可以在spring配置文件中配置
-
也可以在Spring的配置文件中添加
-
Xml代码
-
<beanid=”multipartResolver”class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”>
-
<propertyname=”defaultEncoding”value=”UTF-8″/>
-
</bean>
-
也可以在Spring的配置文件中添加
-
Xml代码
-
<beanid=”multipartResolver”class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”>
-
<propertyname=”defaultEncoding”value=”UTF-8″/>
-
</bean>
jsp code
-
<formid=”fileUploadForm”method=”post”action=”XXX.do?method=fileUpload”enctype=”multipart/form-data”>
-
<tr>
-
<td>File:</td>
-
<td><inputtype=”file”name=”file”></td>
-
</tr>
-
<tr>
-
<td><inputtype=”hidden”name=”fileOwner”value=”1002″/></td>
-
<td><inputtype=”submit”value=”submit”></td>
-
</tr>
-
</form>
==========================分割线==================================================================
另外一篇,也是关于springMVC上传文件的,也放到这里吧
转载自:http://mn960mn.blog.163.com/blog/static/11410308420109493440818/
package net.hqit.action;
import java.io.File;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
@Controller
public class FileUploadController {
@RequestMapping(value="/upload.do",method=RequestMethod.POST)
public String upload(@RequestParam("imageFile") MultipartFile image,HttpServletRequest request) throws IOException
{
String path = request.getRealPath("/upload");
request.setAttribute("name",image.getOriginalFilename());
request.setAttribute("img","<img src='http://mn960mn.blog.163.com/blog/upload/"+image.getOriginalFilename()+"'></img>");
FileCopyUtils.copy(image.getBytes(),new File(path+"/"+image.getOriginalFilename()));
return "ok";
}
}
spring-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="net.hqit.action"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:defaultEncoding="utf-8" />
</beans>
别忘了加入commons里的fileupload跟io两个JAR包,这样就可以了。
分享到:
相关推荐
通过以上步骤,我们可以利用Spring MVC和`CommonsMultipartResolver`实现文件上传功能。这个过程涉及了Spring的依赖注入、HTTP请求处理、文件I/O以及错误处理等多个核心概念,对于理解和实践Spring MVC应用程序的...
在本文中,我们将深入探讨如何使用Spring MVC框架与Ajax技术结合来实现文件上传的功能。Spring MVC是Spring框架的一部分,提供了一种模型-视图-控制器(MVC)架构模式,用于构建Web应用程序。Ajax(Asynchronous ...
在Spring框架中,文件上传是一项常见的功能,尤其在构建Web应用程序时。本实例将深入探讨如何在Java Spring中实现文件上传,并提供一个完整的配置示例。文件上传在现代Web应用中有着广泛的应用,如用户头像上传、...
使用Spring WebFlux或Spring MVC的Async支持,可以实现文件上传的异步处理,提高系统的响应性能。通过定义`@PostMapping`并返回`DeferredResult`或使用`WebClient`,可以在后台线程中处理文件上传。 10. **最佳...
在Spring MVC中实现文件上传并显示进度是一项常见的需求,特别是在用户需要等待较长时间的大型文件上传时。这个功能可以通过监听文件上传的进度并在前端实时更新来提升用户体验。下面将详细介绍如何利用Spring MVC...
6. **优化**:为了提高性能,可以使用异步处理文件上传和下载,利用Spring MVC的AsyncController或者Servlet 3.0的异步处理特性。另外,对于大文件操作,可以考虑分块上传和下载。 7. **实际应用场景**:这些功能...
当Struts和Spring一起使用时,文件上传的处理通常在Action类中完成,这里需要集成Spring的`@Autowired`注解和Struts的`ActionForm`。Spring的`@RequestParam`注解可以用来获取`CommonsMultipartFile`对象。同时,...
在Spring MVC中,文件的上传和下载是常见的功能需求,这涉及到客户端与服务器之间的数据传输。本篇文章将深入探讨Spring MVC如何实现文件上传和下载。 ### 文件上传 1. **依赖配置**:在Spring MVC项目中,为了...
在Spring MVC框架中,文件上传和下载是...1. 配置MultipartResolver:Spring MVC默认使用CommonsMultipartResolver来处理多部分(multipart)请求,也就是文件上传。首先,在Spring的配置文件中添加以下配置: ```xml ...
在Spring MVC中,文件上传主要依赖于`CommonsMultipartResolver`,这是一个基于Apache Commons FileUpload库的解析器,用于处理multipart/form-data类型的表单数据,这是文件上传的标准格式。 **配置Spring MVC支持...
在Spring 5中,为了启用文件上传,我们需要配置`CommonsMultipartResolver`作为Spring MVC的多部分解析器。在`WebMvcConfigurer`接口的实现类中,我们可以添加以下代码: ```java @Configuration public class ...
Spring MVC为文件上传提供了便利的支持,主要依赖于`CommonsMultipartResolver`解析器,它是Apache Commons FileUpload库与Spring MVC的集成。在项目中,我们需要添加以下依赖以启用文件上传功能: ```xml ...
在Spring MVC中,文件上传是常见的功能之一,用于接收用户通过表单提交的文件数据。本文将深入探讨Spring MVC中的文件上传方法,并基于提供的“spring学习:spring mvc上传文件方法分析”标题进行详细的解析。 首先...
在Spring Boot中处理大文件上传时,可以采用多种技巧以提高性能和用户体验。 通过配置CommonsMultipartResolver来设置文件大小限制,并创建文件存储服务来管理文件的保存和组合。分片上传是处理超大文件的关键,它...
- 使用`CommonsMultipartResolver`解析器,它是Spring MVC中处理multipart/form-data类型请求的关键。需在配置文件中声明并启用此解析器。 - 文件存储:文件可以暂时存储在服务器的临时目录,或者持久化到数据库或...
这个"SpringMVC文件上传Demo代码"是一个实例,演示了如何配置和使用SpringMVC来实现这一功能。 首先,我们需要在SpringMVC的配置文件(如`servlet-context.xml`)中启用多部分支持。这通常涉及到注册一个`...
在Spring MVC中,我们可以使用`@RequestParam("file") MultipartFile file`注解来接收上传的文件,其中`MultipartFile`是Spring提供的一个接口,用于处理临时的文件上传。 接下来,我们需要配置一个`...
实现文件上传时,首先需要配置SpringMVC的MultipartResolver,例如使用CommonsMultipartResolver,确保能够处理multipart/form-data类型的请求。接着,在控制器方法中定义一个`MultipartFile`参数,通过这个参数...
在本文中,我们将深入探讨如何使用Spring MVC框架与uploadify插件进行文件上传,特别是针对图片的上传。Spring MVC是Spring框架的一部分,专门用于构建Web应用程序,而uploadify是一款前端JavaScript插件,使得用户...