zoukankan      html  css  js  c++  java
  • Httpclient 实现带参文件上传

    这里直接贴出的是我封装好的doPostFile方法,httpclient 的版本是3.1。

        public static String doPostFile(String url, Part[] parts){
            
            String response = null;
            PostMethod postMethod = new PostMethod(url);
            try{             
                //设置请求实体
                postMethod.setRequestEntity(new MultipartRequestEntity(parts,postMethod.getParams()));
                HttpClient client = new HttpClient();
                
                //设置连接超时限度
                client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
                client.executeMethod(postMethod);
                if(postMethod.getStatusCode() ==  HttpStatus.SC_OK){
                    response = new String(postMethod.getResponseBodyAsString().getBytes("utf-8"));
                }
            } catch(Exception e){
                LOGGER.error("HttpServiceSender.doPostFile()",e.getMessage());
            } finally {
                postMethod.releaseConnection();
            }
            
            return response;
        }

    调用此方法的代码,注意参数的传递方式

        public String uploadImage(File file,String id,String name){
            
            String result = null;
            try{        
                //文件part,new FilePart添加的是File类型的文件,后面StringPart则为字符串参数
                Part[] parts = { new FilePart("file", file),
                    new StringPart("id", id),  
                    new StringPart("id",name)};
                result = HttpServiceSender.doPostFile(SERVER+"service/resource/upload",parts);
                
            }catch(Exception e){
                Logger.error("ImageService.uploadImage()", e.getMessage());           
            }     
            return result;
        }

    作者:Ziv小威
    出处:http://imziv.com/
    关于作者:专注于Java技术的程序员一枚,此外对JS开发保持着较高的兴趣。爱好音乐,阅读,FM等等。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
    如有问题,可以邮件:wewoor@foxmail.com
    微博:Ziv小威

  • 相关阅读:
    golang strings.Split函数
    Launch agent by connecting it to the master
    使用srvany.exe把程序安装成windows服务的方法
    区别对待 .gz 文件 和 .tar.gz 文件
    go 使用 sort 对切片进行排序
    Go数组遍历与排序
    Container killed on request. Exit code is 143
    ERROR tool.ImportTool
    报错笔记:sqoop 执行import命令报错
    连不上网
  • 原文地址:https://www.cnblogs.com/zivxiaowei/p/3243541.html
Copyright © 2011-2022 走看看