为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

httpClient上传文件

2013-04-18 4页 doc 14KB 47阅读

用户头像

is_210579

暂无简介

举报
httpClient上传文件httpClient上传文件ApacheServlet 注意:要载入commons-httpclient-3.1.jarcommons-codec.jarcommons-logging.jar这三个包importjava.io.File;importorg.apache.commons.httpclient.HttpClient;importorg.apache.commons.httpclient.HttpStatus;importorg.apache.commons.httpclient.methods.Post...
httpClient上传文件
httpClient上传文件ApacheServlet 注意:要载入commons-httpclient-3.1.jarcommons-codec.jarcommons-logging.jar这三个包importjava.io.File;importorg.apache.commons.httpclient.HttpClient;importorg.apache.commons.httpclient.HttpStatus;importorg.apache.commons.httpclient.methods.PostMethod;importorg.apache.commons.httpclient.methods.multipart.FilePart;importorg.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;importorg.apache.commons.httpclient.methods.multipart.Part;publicclassHclient{publicstaticvoidmain(Stringargs[]){  StringtargetURL=null;//TODO指定URL  FiletargetFile=null;//TODO指定上传文件   targetFile=newFile("1.mp3");  targetURL="http://localhost:8080/test/tt";//servleturl  PostMethodfilePost=newPostMethod(targetURL);   try  {   //通过以下方法可以模拟页面参数提交   //filePost.setParameter("name","中文");   //filePost.setParameter("pass","1234");  Part[]parts={newFilePart(targetFile.getName(),targetFile)};   filePost.setRequestEntity(newMultipartRequestEntity(parts,filePost.getParams()));   HttpClientclient=newHttpClient();   client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);   intstatus=client.executeMethod(filePost);   if(status==HttpStatus.SC_OK)   {    System.out.println("上传成功");    //上传成功   }   else   {    System.out.println("上传失败");    //上传失败   }  }  catch(Exceptionex)  {   ex.printStackTrace();  }  finally  {   filePost.releaseConnection();  }}}servlet部分:注意:需求载入commons-fileupload-1.2.1.jarcommons-io.jar这两个包packageservlet;importjava.io.File;importjava.io.IOException;importjava.util.Iterator;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.apache.commons.fileupload.FileItem;importorg.apache.commons.fileupload.disk.DiskFileItemFactory;importorg.apache.commons.fileupload.servlet.ServletFileUpload;publicclassTestServletsextendsHttpServlet{privateStringuploadPath="D:\\temp";//上传文件的目录   privateStringtempPath="d:\\temp\\buffer\\";//临时文件目录   FiletempPathFile;      publicvoidinit()throwsServletException{       FileuploadFile=newFile(uploadPath);       if(!uploadFile.exists()){           uploadFile.mkdirs();       }       FiletempPathFile=newFile(tempPath);        if(!tempPathFile.exists()){           tempPathFile.mkdirs();       }    }publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)   throwsServletException,IOException{  try  {   //Createafactoryfordisk-basedfileitems   DiskFileItemFactoryfactory=newDiskFileItemFactory();   //Setfactoryconstraints   factory.setSizeThreshold(4096);//设置缓冲区大小,这里是4kb   factory.setRepository(tempPathFile);//设置缓冲区目录   //Createanewfileuploadhandler   ServletFileUploadupload=newServletFileUpload(factory);   //Setoverallrequestsizeconstraint   upload.setSizeMax(4194304);//设置最大文件尺寸,这里是4MB   List<FileItem>items=upload.parseRequest(request);//得到所有的文件   Iterator<FileItem>i=items.iterator();   while(i.hasNext())   {    FileItemfi=(FileItem)i.next();    StringfileName=fi.getName();    if(fileName!=null)    {     FilefullFile=newFile(fi.getName());     FilesavedFile=newFile(uploadPath,fullFile.getName());     fi.write(savedFile);    }   }   System.out.print("uploadsucceed");  }  catch(Exceptione)  {   System.out.println(e.getMessage());   //可以跳转出错页面   e.printStackTrace();  }}}
/
本文档为【httpClient上传文件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索