在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传。但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的applicationContext里面加上springMVC提供的MultipartResolver的申明。这样之后,客户端每次进行请求的时候,springMVC都会检查request里面是否包含多媒体信息,如果包含了就会使用MultipartResolver进行解析,springMVC会使用一个支持文件处理的MultipartHttpServletRequest来包裹当前的HttpServletRequest,然后使用MultipartHttpServletRequest就可以对文件进行处理了。Spring已经为我们提供了一个MultipartResolver的实现,我们只需要拿来用就可以了,那就是org.springframework.web.multipart.commons.CommsMultipartResolver。因为springMVC的MultipartResolver底层使用的是Commons-fileupload,所以还需要加入对Commons-fileupload.jar的支持。
<!-- 这里申明的id必须为multipartResolver -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- one of the properties available; the maximum file size in bytes -->
<property name="maxUploadSize" value="100000"/>
</bean>
CommonsMultipartResolver允许设置的属性有:
defaultEncoding:表示用来解析request请求的默认编码格式,当没有指定的时候根据Servlet规范会使用默认值ISO-8859-1。当request自己指明了它的编码格式的时候就会忽略这里指定的defaultEncoding。
uploadTempDir:设置上传文件时的临时目录,默认是Servlet容器的临时目录。
maxUploadSize:设置允许上传的最大文件大小,以字节为单位计算。当设为-1时表示无限制,默认是-1。
maxInMemorySize:设置在文件上传时允许写到内存中的最大值,以字节为单位计算,默认是10240。
下面是一个简单示例:
.html文件
<html>
<head>
<title>Upload a file please</title>
</head>
<body>
<h1>Please upload a file</h1>
<!-- enctype(编码格式)必须为multipart/form-data -->
<form method="post" action="/form" enctype="multipart/form-data">
<input type="text" name="name"/>
<input type="file" name="file"/>
<input type="submit"/>
</form>
</body>
</html>
对应的action controller:
@Controller
public class FileUpoadController {
@RequestMapping(value = "/form", method = RequestMethod.POST)
public String handleFormUpload(@RequestParam("name") String name,
@RequestParam("file") MultipartFile file) {
//MultipartFile是对当前上传的文件的封装,当要同时上传多个文件时,可以给定多个MultipartFile参数
if (!file.isEmpty()) {
byte[] bytes = file.getBytes();
// store the bytes somewhere
//在这里就可以对file进行处理了,可以根据自己的需求把它存到数据库或者服务器的某个文件夹
return "redirect:uploadSuccess";
} else {
return "redirect:uploadFailure";
}
}
}
分享到:
相关推荐
springMVC 上传文件方式springMVC 上传文件方式springMVC 上传文件方式
SpringMVC 上传文件详解 SpringMVC 框架中上传文件是非常常见的操作,今天我们来详细讲解 SpringMVC 中的文件上传过程。 文件上传的必要条件 在 SpringMVC 中,文件上传需要满足以下几个条件: 1. 表单的 ...
-- 设置最大上传文件大小 --> ``` 在Controller中,同样可以使用`@RequestParam`接收文件: ```java @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile file...
在标题和描述中提到的"springmvc上传文件所需jar包"是指为了在Spring MVC应用中支持文件上传,开发者需要引入特定的Java Archive (JAR) 文件。以下是关于这两个关键JAR包的详细解释: 1. `...
同时,确保前端和后端的安全性,比如使用CSRF令牌防止跨站请求伪造,以及对上传文件进行适当的权限控制。 最后,项目中的"新建文件夹"可能表示在服务器端需要创建一个目录来存储上传的文件。你可以使用Java的`java....
springMVC上传文件的三种解析方式源码。可以添加到tomcat直接运行,运行访问地址为:http://localhost:8080/SpringMVCUploadFileDemo/upload/toUploadFileView1
在这个特定的项目"springmvc上传文件实时显示进度条"中,我们关注的是如何在文件上传过程中为用户展示进度信息,以提高用户体验。这个项目适用于那些需要处理大文件上传并希望提供反馈的Web应用。 首先,要实现文件...
### SpringMVC上传文件IE提示下载JSON文件解决方案 在开发基于SpringMVC的应用时,可能会遇到这样一个问题:当用户尝试通过Internet Explorer(IE)浏览器上传文件时,浏览器会提示下载一个JSON文件,而不是正常地...
标题“extjs3+springMVC上传文件”指的是使用ExtJS 3版本的JavaScript库与Spring MVC框架结合实现文件上传功能。这篇博文可能是作者在ITEYE博客上分享的一个技术实践,遗憾的是,描述部分为空,没有提供额外的信息。...
上传文件时要考虑安全性,包括防止文件覆盖、恶意文件上传(如脚本注入)、文件权限设置等。应验证文件类型、大小,并对文件名进行清理,避免特殊字符和路径遍历攻击。 9. **最佳实践** 使用流式处理文件,减少...
在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传。但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的...
本主题将深入探讨如何使用SpringMVC和SSH(Struts2 + Hibernate + Spring)框架来实现文件的上传与下载。 首先,我们来看SpringMVC中的文件上传。SpringMVC是Spring框架的一部分,它提供了强大的MVC设计模式支持,...
结合这两者,我们可以创建一个功能,允许用户通过Web界面上传文件并将其存储在FTP服务器上。 首先,我们需要在`mmall.properties`配置文件中设置FTP服务器的相关信息,包括主机地址、端口号、用户名、密码以及目标...
在提供的"springmvc带进度条上传源码"中,可能包含了这些功能的实现,包括控制器、服务层、视图层以及前端的HTML、CSS和JavaScript文件。分析这些源码可以帮助你更好地理解文件上传和进度条显示的完整流程。如果你...
在SpringMVC框架中,文件上传是一个常见的功能,它允许用户通过Web应用程序上传文件到服务器。这个场景在很多应用中都是必要的,例如用户上传头像、提交文档等。本示例提供了一个简单易懂的SpringMVC文件上传代码,...
jar包包含: com.springsource.org.apache.commons.fileupload-1.2.0.jar com.springsource.org.apache.commons.io-1.4.0.jar
这个接口封装了上传文件的基本信息,如文件名、大小、内容等。在控制器方法中,我们可以声明一个`MultipartFile`参数来接收上传的文件。 3. **配置SpringMVC以支持文件上传**: 在SpringMVC的配置文件中,我们需要...
SpringMVC上传文件FileUpload使用方法详解 在本文中,我们将详细介绍 SpringMVC 上传文件 FileUpload 的使用方法,旨在帮助开发者快速掌握该技术。下面是相关知识点的总结: 一、SpringMVC 上传文件 FileUpload ...
在Spring MVC框架中,文件上传是一项常见的功能,用于允许用户通过Web应用程序上传文件。要实现这一功能,我们需要依赖一些特定的库和配置。本篇文章将详细介绍如何在Spring MVC中实现文件上传,并涉及到所需的jar包...