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

基于HTML5+js+Java实现单文件文件上传到服务器功能

程序员文章站 2024-02-20 21:23:58
上传单文件到服务器             ...

上传单文件到服务器                                                  

     应公司要求,在html5页面上实现上传文件到服务器,对于一个还没毕业的实习生菜鸟来说,这可不得了-----不会,网上各种百度,找各种博客还是没解决,最后还是请教了公司的大神,人家给卸了一个例子,然后根据人家写的终于把这个上传文件搞定。

  好了,开始上代码。

html5代码:

 <form name="upform" action="" method="post">  
          <input type ="file" name="myfile1" id="myfile1"/><br/>  
          <input type ="file" name="myfile2" id="myfile2"/><br/> 
              备注:<input type="text" name="mydata" id="mydata"/><br/> 
          <input type="button" value="确定" onclick="upload()"/><br/>  
</form> 

js代码:

formdata可以把它理解成一个虚拟的表单对象,它只有一个方法append,我们可以通过append向formdata里面添加各种需要提交的数据。

 url:/adata/adata/payment/paymentaction/upload.menu----指的是你java接受信息的action路径

        _pathname=/adata//payment.jsp-----------指的是你html5页面的虚拟路径。

         alert(result);-------指的是从java后台返回的信息。

function upload() { 
 mydata = document.getelementbyid("mydata").files[0]; 
 formdata = new formdata(); 
 formdata.append("mydata", mydata); 
  $.ajax({ 
       contenttype:"multipart/form-data", 
       url:"/adata/adata/payment/paymentaction/upload.menu?_pathname=/adata//payment.jsp", 
       type:"post", 
       data:formdata, 
       datatype:"text", 
       processdata: false, // 告诉jquery不要去处理发送的数据 
       contenttype: false, // 告诉jquery不要去设置content-type请求头 
       success: function(result){ 
       alert(result); 
 } 
 }); 
}

java代码:

string savepath = "d:/";//存储路径 
      string retmsg = "";//定义将返回给客户端的信息 
      try { 
        if (servletfileupload.ismultipartcontent(request)) { 
          list<fileitem> items = new servletfileupload(new diskfileitemfactory()).parserequest(request); 
          for (fileitem item : items) { 
            if (!item.isformfield()) {// 过滤掉表单中非文件域 
              string filetype = item.getname().substring(item.getname().lastindexof(".") + 1).tolowercase();//文件类型 
              string filename = new date().gettime() + "." + filetype; //保存的文件名 
              string filepath = savepath + "\\" + filename; //保存的文件路径 
              bufferedinputstream in = new bufferedinputstream(item.getinputstream());// 获得文件输入流 
              bufferedoutputstream out = new bufferedoutputstream(new fileoutputstream(new file(filepath)));// 获得文件输出流 
              org.apache.commons.fileupload.util.streams.copy(in, out, true);// 开始把文件写到指定的上传文件夹 
              retmsg += "上传文件成功!"; 
              in.close(); 
              out.close(); 
            }  
          } 
        } 
        response.setcontenttype("text/html;charset=utf8"); 
        printwriter pw = response.getwriter(); 
        pw.print(retmsg); 
        pw.flush(); 
        pw.close(); 
        //根据自己需要返回页面一个 retmsg
         // return retmsg 证明上传成功
      } catch (exception e) { 
        e.printstacktrace(); 
      } 

总结

以上所述是小编给大家介绍的基于html5+js+java实现单文件文件上传到服务器功能,希望对大家有所帮助

上一篇: Java继承概念详细解读

下一篇: