请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

欣东微医疗技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 336|回复: 0

利用httpclient上传微信图片文件

[复制链接]

679

主题

815

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
38611
QQ
发表于 2018-6-6 16:42:48 | 显示全部楼层 |阅读模式
主要用到了multipart/form-data
   完成的代码如下

     /* String ttoken = gettoken(session,response);   //这个是自定义函数,自己脑补,返回
         JSONObject object = JSON.parseObject(ttoken);
         JSONObject data = (JSONObject) object.get("data");
         String tatoken = (String) data.get("accessToken");
        //上传图文消息内的图片获取URL
        String tp_url="https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token="+tatoken;
        
        HttpClient httpClient = HttpClients.createDefault();
        
        String fileDirectory=System.getProperty("user.dir");
        int lastIndex = fileDirectory.lastIndexOf(File.separatorChar);
        fileDirectory = fileDirectory.substring(0, lastIndex);
        log.info("fileDirectory1="+fileDirectory);
        String tpath="news";
        String fileName=tnews.getPic();
        String files = fileDirectory+File.separatorChar+"front"+File.separatorChar+"wxfxyzyy"+File.separatorChar+"static"+File.separatorChar+tpath+File.separatorChar+fileName;
        log.info("fileDirectory="+fileDirectory+"  file="+files);
        File file = new File(files);
        if (file == null || !file.exists()) {
            throw new FileNotFoundException();
        }
        MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
        multipartEntityBuilder
                .addBinaryBody("media", file)
                .setMode(HttpMultipartMode.RFC6532);
        HttpPost httpPost = new HttpPost(tp_url);
        httpPost.setEntity(multipartEntityBuilder.build());
        httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString());
        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity =  httpResponse.getEntity();
        String content = EntityUtils.toString(httpEntity);
        System.out.println(content);
*/
maven依赖
      <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpmime</artifactId>
            <version>4.5.5</version>
        </dependency>   

其中gettoken函数返回数据格式
  /*{"success":true,"data":{"accessToken":"10_LHiTniqUqtwK9mnrb5xUIOKyzw27lyvNlLQj64Dqsi-odIO2BKWstntsdQ4IxXJu9IsR4PQbHEl_snxQGDFbgamTIZM_izpa3jexugKFoSYyN8dk02fgOQn_97kn4jM18kULOe5Wqf95OO3nRKVdAFAZSD","createTime":1528265417362,"expireTime":1528272607362,"expiresIn":7200}} */
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|eastwill.org  

GMT+8, 2018-10-21 20:18 , Processed in 0.093540 second(s), 26 queries .

Powered by Eastwill! X3.2

© 2001-2013 Eastwill Inc.

快速回复 返回顶部 返回列表