主页 > 知识库 > SpringMVC上传文件的简单实例

SpringMVC上传文件的简单实例

热门标签:阿里云 银行业务 Mysql连接数设置 科大讯飞语音识别系统 电子围栏 Linux服务器 团购网站 服务器配置

SpringMVC上传文件的简单实例

在使用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的支持。

Xml代码

!-- 这里申明的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:

Java代码

@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+Ajax实现文件批量上传和下载功能实例代码
  • SpringMVC上传文件的两种方法
  • SpringMVC多个文件上传及上传后立即显示图片功能
  • SpringMVC实现文件上传和下载功能
  • SpringMVC 单文件上传与多文件上传实例
  • SpringMVC实现文件的上传和下载实例代码
  • JavaEE开发之SpringMVC中的自定义消息转换器与文件上传
  • SpringMVC文件上传功能实例解析
  • SpringMVC文件上传及查看的示例代码

标签:衡水 衢州 萍乡 枣庄 大理 广元 江苏 蚌埠

巨人网络通讯声明:本文标题《SpringMVC上传文件的简单实例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266