当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 如何HttpServletRequest文件对象并储存

如何HttpServletRequest文件对象并储存

2020年08月17日  | 移动技术网IT编程  | 我要评论
核心代码由于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);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网