欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-03 16:23:46
目的是实现异步上传 1.添加pom依赖 添加pom依赖,因为用的ajax,数据需要转成json的格式进行传输,所以还有加入一个json jar包: &...

目的是实现异步上传

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