首页 > 开发 > Java > 正文

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

2024-07-13 10:12:18
字体:
来源:转载
供稿:网友

目的是实现异步上传

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 实现异步上传方法介绍的全部内容,希望对大家有所帮助。欢迎大家浏览本站其他专题,有什么疑问或者建议可以随时留言,小编会及时回复大家的。希望大家对VeVb武林网网站多多支持!


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表