需要在两个系统中传输数据,简单就是,其他系统向我系统发送请求的过程中,我中间有一个访问其他系统并在请求中传输数据再接受反馈信息。由于是在一次请求中间的反向请求,所以就不能直接用response返回数据,所以就用httpclient,下面是一个简单实例,仅供参考
1.请求(本系统)
1 2 3 4 5 6 7 8 9 10
| HttpClient client = new HttpClient(); PostMethod method = new PostMethod(URL);
Part[] parts = ...; method.setRequestEntity(new MultipartRequestEntity(parts, method.getParams()));
NameValuePair[] pairs = ...; method.addParameters(pairs);
client.executeMethod(method);
|
2.接受(其他系统)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| private void parseRequest(HttpServletRequest request) throws Exception { boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(request); for (int i = 0; i < items.size(); i++) { FileItem item = (FileItem) items.get(i); if (!item.isFormField()) { } else { } } } else { Enumeration en = request.getParameterNames(); while (en.hasMoreElements()) { String paramName = (String) en.nextElement(); String paramValue = request.getParameter(paramName); } } }
|
本作品采用知识共享署名 4.0 中国大陆许可协议进行许可,欢迎转载,但转载请注明来自御前提笔小书童,并保持转载后文章内容的完整。本人保留所有版权相关权利。
本文链接:https://royalscholar.cn/2017/05/11/httpclient上传文件实例/