如何HttpServletRequest文件对象并储存
程序员文章站
2022-03-14 18:21:44
核心代码由于httpservletrequest不能直接取出文件数据,所以将其强制转换为multiparthttpservletrequestmultiparthttpservletrequest m...
核心代码
由于httpservletrequest不能直接取出文件数据,所以将其强制转换为multiparthttpservletrequest
multiparthttpservletrequest multipartrequest = (multiparthttpservletrequest) request;
list<multipartfile> files = multipartrequest.getfiles("files");
post
/*提交表单*/ function myupload() { $.ajax({ url:"/exuploadcontroller.do?uploadtest", type : "post", async: false, cache: false, //此处设置false contenttype: false,//必须设置false ,formupload1表单中必须设置enctype="multipart/form-data" processdata: false, //必须设置fals data :new formdata(document.getelementbyid("myform")), success:function (data) { alert(data); }, error:function (xmlhttprequest, textstatus, errorthrown) { console.log(xmlhttprequest); console.log(textstatus); console.log(errorthrown); } }) }
servlet
httpservletrequest request; //获取上传图片 multiparthttpservletrequest mureq = (multiparthttpservletrequest) request; map<string, multipartfile> files = mureq.getfilemap(); multipartfile file =null; if (files != null &&files.size()> 0) { map.entry<string, multipartfile> f = files.entryset().iterator().next(); file = f.getvalue(); } //获取项目部署的路径 string rootpath = request.getsession().getservletcontext().getrealpath("/"); //获取上传图片的名称 string filename = file.getoriginalfilename(); //获取上传图片的大小 float size = file.getsize() //在path路径下创建一个文件 file newfile = new file(path); //判断文件是否存在 if(!newfile.exists()) { newfile.mkdirs();//不存在的话,就开辟一个空间 } //将上传的文件存储 file.transferto(newfile);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。