zoukankan      html  css  js  c++  java
  • java上传文件和参数到服务器

    public static Map<String,Object> uploadFileByHTTP(File postFile,String postUrl,Map<String,String> postParam){
            //Logger log = LoggerFactory.getLogger(UploadTest.class);
    
            Map<String,Object> resultMap = new HashMap<String,Object>();
            CloseableHttpClient httpClient = HttpClients.createDefault();
            try{
                //把一个普通参数和文件上传给下面这个地址    是一个servlet
                HttpPost httpPost = new HttpPost(postUrl);
                //把文件转换成流对象FileBody
                FileBody fundFileBin = new FileBody(postFile);
                //设置传输参数
                MultipartEntityBuilder multipartEntity = MultipartEntityBuilder.create();
                multipartEntity.setCharset(Charset.forName("utf-8"));
                multipartEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
                multipartEntity.addPart(postFile.getName(), fundFileBin);//相当于<input type="file" name="media"/>
    
                //设计文件以外的参数
                Set<String> keySet = postParam.keySet();
                for (String key : keySet) {
                    //相当于<input type="text" name="name" value=name>
                    multipartEntity.addPart(key, new StringBody(postParam.get(key), ContentType.create("application/json", Consts.UTF_8)));
                }
    
                HttpEntity reqEntity =  multipartEntity.build();
                httpPost.setHeader("Content-type", "application/json");
                httpPost.setEntity(reqEntity);
    
                //log.info("发起请求的页面地址 " + httpPost.getRequestLine());
                //发起请求   并返回请求的响应
                CloseableHttpResponse response = httpClient.execute(httpPost);
                try {
                    ///log.info("----------------------------------------");
                    //打印响应状态
                    //log.info(response.getStatusLine());
                    resultMap.put("statusCode", response.getStatusLine().getStatusCode());
                    //获取响应对象
                    HttpEntity resEntity = response.getEntity();
                    if (resEntity != null) {
                        //打印响应长度
                        //log.info("Response content length: " + resEntity.getContentLength());
                        //打印响应内容
                        resultMap.put("data", EntityUtils.toString(resEntity,Charset.forName("UTF-8")));
                    }
                    //销毁
                    EntityUtils.consume(resEntity);
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                    response.close();
                }
            } catch (ClientProtocolException e1) {
                e1.printStackTrace();
            } catch (IOException e1) {
                e1.printStackTrace();
            } finally{
                try {
                    httpClient.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            //log.info("uploadFileByHTTP result:"+resultMap);
            return resultMap;
        }
  • 相关阅读:
    变量的创建和初始化
    HDU 1114 Piggy-Bank (dp)
    HDU 1421 搬寝室 (dp)
    HDU 2059 龟兔赛跑 (dp)
    HDU 2571 命运 (dp)
    HDU 1574 RP问题 (dp)
    HDU 2577 How to Type (字符串处理)
    HDU 1422 重温世界杯 (dp)
    HDU 2191 珍惜现在,感恩生活 (dp)
    HH实习 acm算法部 1689
  • 原文地址:https://www.cnblogs.com/zhouyuqiu/p/12106355.html
Copyright © 2011-2022 走看看