SpringMVC使用MultipartFile 实现异步上传方法介绍

 更新时间:2017年09月28日 09:41:25   作者:foolishAndStupid  
这篇文章主要介绍了SpringMVC使用MultipartFile 实现异步上传方法介绍,涉及pom依赖的添加,配置文件的修改等具体操作代码,需要的朋友可以了解下。

目的是实现异步上传

1.添加pom依赖

添加pom依赖,因为用的ajax,数据需要转成json的格式进行传输,所以还有加入一个JSON jar包:

<dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.1</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.1.37</version>
    </dependency>

2.修改配置文件

applicationContext.xml里面需要加上:

<bean id="multipartResolver"
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="defaultEncoding" value="UTF-8"></property>
    <property name="maxUploadSize" value="5400000"></property>
  </bean>

3.前端页面上

前端页面:

<form id="uploadForm" name="uploadForm"
    enctype="multipart/form-data">
<input name="messageContent" value="多个参数的情况下">
      <label>文件</label> <input type="file" name="file">
      <button class="btn" type="button" id="doSave">提交</button>
  </form>
</body>
</html>

需要加入的JS:

<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script> 
<script type="text/javascript" src="js/jquery-ui.min.js"></script> 
<script type="text/javascript" src="js/jquery.form.js"></script> 

JS方法:

<script>
  $(function() {
    $("#doSave")
        .click(
            function() {
              $("#uploadForm")
                  .ajaxSubmit(
                      {
                type : 'post',
                url : "/tmpInfo/method2.do",
    //data: //注意只要是写在表单里面的,都不需要加这个属性。在controller中可以根据@RequestParam String str获取到属性值。  
  contentType : "application/x-www-form-urlencoded; charset=utf-8",
    success: function(data) {
         //接受到的data还只是一个字符串,需要转成json对象
         var obj = JSON.parse(data);
         if(obj.flag==true){
          alert("上传成功");
       }else{
         alert("error");
       }
        },
        error: function (data)//服务器响应失败处理函数
        {
          alert("出错");
        } 
       });
  });
  }); 

controller代码:

 @RequestMapping("/method2") 
    @ResponseBody
    public String method2(@RequestParam MultipartFile file,
        @RequestParam String messageContent ) { 
        //多个参数的话只要多个@RequestParam即可,注意参数名要和表单里面的属性名一致
     JSONObject json =new JSONObject();
     System.out.println(messageContent);
      String orgiginalFileName = ""; 
      int m =new Random().nextInt(100)+10;
      System.out.println("m="+m);
      String path="D:/"+m+"b.txt";
      try { 
        File newFile =new File(path);
        file.transferTo(newFile);
        String fileName = file.getName(); 
        InputStream inputStream = file.getInputStream(); 
        String content = file.getContentType(); 
        orgiginalFileName = file.getOriginalFilename(); 
        System.out.println("fileName: "+fileName+", inputStream: "+ inputStream 
              +"\r\n content: "+content+", orgiginalFileName: ="+ orgiginalFileName 
              +"\r\n projectName: ");   
      } catch (IOException e) { 
        e.printStackTrace(); 
      } 
      json.put("flag", true);
      json.put("message", "success");
      System.out.println(json.toJSONString());
      return json.toJSONString(); 
    } 

以上就是分享给大家的关于SpringMVC使用MultipartFile 实现异步上传方法介绍的全部内容,希望对大家有所帮助。欢迎大家浏览本站其他专题,有什么疑问或者建议可以随时留言,小编会及时回复大家的。希望大家对脚本之家网站多多支持!

相关文章

  • 全网最深分析SpringBoot MVC自动配置失效的原因

    全网最深分析SpringBoot MVC自动配置失效的原因

    这篇文章主要介绍了全网最深分析SpringBoot MVC自动配置失效的原因,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • java反射之获取类的信息方法(推荐)

    java反射之获取类的信息方法(推荐)

    下面小编就为大家带来一篇java反射之获取类的信息方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Springboot之restTemplate配置及使用方式

    Springboot之restTemplate配置及使用方式

    这篇文章主要介绍了Springboot之restTemplate配置及使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Spring设计模式中代理模式详细讲解

    Spring设计模式中代理模式详细讲解

    如何实现在不修改源码的基础上实现代码功能的增强呢?spring为我们提供了代理模式。所谓的代理模式通俗来说就是一个中介,它给某一个对象提供一个代理对象,并由代理对象控制原对象的引用,从而实现在不修改源码的基础上实现代码功能的增强
    2023-01-01
  • Java 生成带Logo和文字的二维码

    Java 生成带Logo和文字的二维码

    这篇文章主要介绍了Java 生成带Logo和文字的二维码的方法,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-04-04
  • mybatis-plus 实现分页查询的示例代码

    mybatis-plus 实现分页查询的示例代码

    本文介绍了在MyBatis-Plus中实现分页查询,包括引入依赖、配置分页插件、使用分页查询以及在控制器中调用分页查询的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • 解决SSLContext.getInstance()中参数设置TLS版本无效的问题

    解决SSLContext.getInstance()中参数设置TLS版本无效的问题

    这篇文章主要介绍了解决SSLContext.getInstance()中参数设置TLS版本无效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • SpringBoot日志注解与缓存优化详解

    SpringBoot日志注解与缓存优化详解

    这篇文章主要给大家介绍了关于SpringBoot日志注解与缓存优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-10-10
  • Java 编程中十个处理异常的建议

    Java 编程中十个处理异常的建议

    这篇文章主要介绍了Java 编程中十个处理异常的建议,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • java8新特性 获取list某一列的操作

    java8新特性 获取list某一列的操作

    这篇文章主要介绍了java8新特性 获取list某一列的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02

最新评论