服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - SpringMVC使用MultipartFile 实现异步上传方法介绍

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

2021-01-12 14:11foolishAndStupid Java教程

这篇文章主要介绍了SpringMVC使用MultipartFile 实现异步上传方法介绍,涉及pom依赖的添加,配置文件的修改等具体操作代码,需要的朋友可以了解下。

目的是实现异步上传

1.添加pom依赖

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<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里面需要加上:

?
1
2
3
4
5
<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.前端页面上

前端页面:

?
1
2
3
4
5
6
7
8
<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:

?
1
2
3
<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方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<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代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@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 实现异步上传方法介绍的全部内容,希望对大家有所帮助。欢迎大家浏览本站其他专题,有什么疑问或者建议可以随时留言,小编会及时回复大家的。希望大家对服务器之家网站多多支持!

原文链接:http://blog.csdn.net/foolishandstupid/article/details/52047514

延伸 · 阅读

精彩推荐
  • Java教程mybatis批量新增、删除、查询和修改方式

    mybatis批量新增、删除、查询和修改方式

    这篇文章主要介绍了mybatis批量新增、删除、查询和修改方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    xuforeverlove7492022-01-24
  • Java教程Spring 6.0 将停止支持 Freemarker 和 JSP

    Spring 6.0 将停止支持 Freemarker 和 JSP

    Spring Framework 6.0 第一个里程碑版本已经发布,目前已经可以从Spring Repo获取。这里有一些新变更我们可以提前了解一下。...

    码农小胖哥12642021-12-31
  • Java教程浅谈java 中equals和==的区别

    浅谈java 中equals和==的区别

    这篇文章主要介绍了java 中equals和==的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小...

    独特润许多人5982021-07-21
  • Java教程浅谈sql_@SelectProvider及使用注意说明

    浅谈sql_@SelectProvider及使用注意说明

    这篇文章主要介绍了sql_@SelectProvider及使用注意说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    icecoola_6892021-11-04
  • Java教程二进制中1的个数

    二进制中1的个数

    这篇文章介绍了二进制中1的个数,有需要的朋友可以参考一下 ...

    java之家2662019-10-15
  • Java教程Java开发常见异常及解决办法详解

    Java开发常见异常及解决办法详解

    这篇文章主要介绍了java程序常见异常及处理汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考...

    cutercorley12252021-12-18
  • Java教程mybatis调用存储过程的实例代码

    mybatis调用存储过程的实例代码

    这篇文章主要介绍了mybatis调用存储过程的实例,非常不错,具有参考借鉴价值,需要的朋友可以参考下...

    动力节点11732021-01-25
  • Java教程Spring Cloud Gateway 如何修改HTTP响应信息

    Spring Cloud Gateway 如何修改HTTP响应信息

    这篇文章主要介绍了Spring Cloud Gateway 修改HTTP响应信息的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    帷幄庸者13712021-10-13