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 实现异步上传方法介绍的全部内容,希望对大家有所帮助。欢迎大家浏览本站其他专题,有什么疑问或者建议可以随时留言,小编会及时回复大家的。希望大家对网站多多支持!
上一篇: Python输出带颜色的字符串实例
下一篇: Android开发中的简单设置技巧集锦