微信开发平台中有个接口是上传多媒体文件,我用的是java 开发的,我怎么样才能在后台实现呢?代码如下:

微信开发平台中有个接口是上传多媒体文件,我用的是java 开发的,我怎么样才能在后台实现呢?代码如下:,第1张

/**

     * 文件上传到微信服务器

     * @param fileType 文件类型

     * @param filePath 文件路径

     * @return JSONObject

     * @throws Exception

     */

    public static JSONObject send(String fileType, String filePath) throws Exception {  

        String result = null  

        File file = new File(filePath)  

        if (!file.exists() || !file.isFile()) {  

            throw new IOException("文件不存在")  

        }  

        /** 

        * 第一部分 

        */  

        URL urlObj = new URL("http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token="+ getAccess_token() + "&type="+fileType+"")  

        HttpURLConnection con = (HttpURLConnection) urlObj.openConnection()  

        con.setRequestMethod("POST") // 以Post方式提交表单,默认get方式  

        con.setDoInput(true)  

        con.setDoOutput(true)  

        con.setUseCaches(false) // post方式不能使用缓存  

        // 设置请求头信息  

        con.setRequestProperty("Connection", "Keep-Alive")  

        con.setRequestProperty("Charset", "UTF-8")  

        // 设置边界  

        String BOUNDARY = "----------" + System.currentTimeMillis()  

        con.setRequestProperty("Content-Type", "multipart/form-data boundary="+ BOUNDARY)  

        // 请求正文信息  

        // 第一部分:  

        StringBuilder sb = new StringBuilder()  

        sb.append("--") // 必须多两道线  

        sb.append(BOUNDARY)  

        sb.append("\r\n")  

        sb.append("Content-Disposition: form-dataname=\"file\"filename=\""+ file.getName() + "\"\r\n")  

        sb.append("Content-Type:application/octet-stream\r\n\r\n")  

        byte[] head = sb.toString().getBytes("utf-8")  

        // 获得输出流  

        OutputStream out = new DataOutputStream(con.getOutputStream())  

        // 输出表头  

        out.write(head)  

        // 文件正文部分  

        // 把文件已流文件的方式 推入到url中  

        DataInputStream in = new DataInputStream(new FileInputStream(file))  

        int bytes = 0  

        byte[] bufferOut = new byte[1024]  

        while ((bytes = in.read(bufferOut)) != -1) {  

        out.write(bufferOut, 0, bytes)  

        }  

        in.close()  

        // 结尾部分  

        byte[] foot = ("\r\n--" + BOUNDARY + "--\r\n").getBytes("utf-8")// 定义最后数据分隔线  

        out.write(foot)  

        out.flush()  

        out.close()  

        StringBuffer buffer = new StringBuffer()  

        BufferedReader reader = null  

        try {  

        // 定义BufferedReader输入流来读取URL的响应  

        reader = new BufferedReader(new InputStreamReader(con.getInputStream()))  

        String line = null  

        while ((line = reader.readLine()) != null) {  

        //System.out.println(line)  

        buffer.append(line)  

        }  

        if(result==null){  

        result = buffer.toString()  

        }  

        } catch (IOException e) {  

        System.out.println("发送POST请求出现异常!" + e)  

        e.printStackTrace()  

        throw new IOException("数据读取异常")  

        } finally {  

        if(reader!=null){  

        reader.close()  

        }  

        }  

        JSONObject jsonObj =new JSONObject(result)  

        return jsonObj  

    }

js幻灯片

微信公众平台开发教程

专题导读:微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,并实现和特定群体的文字、图片、语音的全方位沟通、互动。2013年8月5日,微信公众平台进行升级,将微信公众平台分成订阅号和服务号两种类型。本专题收集各种微信API接口开发教程,以您供参考学习。

微信调整公众平台规则:月度推送增至4条

微信团队对于公众账号的功能发展有三个阶段的定位。第一阶段就是互动沟通,最常用的就是群发消息等。第二阶段是用户管理,公众号天生是一个CRM平台。第三阶段则是服务...

发布时间:2014-04-16

微信新平台:开放图像识别和语音识别技术

利用语音识别技术,微信服务号的用户能够自定义词库,在识别到某些关键词后,自动返回特定的结果,微信称“后期也会考虑支持定制化的服务”。另外,微信开放的语音合...

发布时间:2014-04-10

微信支付向16类APP开放 拥有移动应用APP的商户即可申请

微信支付作为微信5 0版本上线时引入的一个重要功能,在3月4日已经向开发者们开放了扫码支付和公众号支付两个场景。此次,微信向第三方移动应用直接开放了微信支付申...

发布时间:2014-03-22

基于微信平台开发的十大火爆应用TOP10

如何从这个生态上赚到钱,同时又能找到避免被腾讯“微创新”的方法是无数创业者努力的方向。接下来为大家分析盘点十大基于微信开发的火爆应用,让我们一起看看这批创...

发布时间:2014-03-05

微信公众平台上传下载多媒体文件之开发文档详解

微信公众号在使用接口时,对多媒体文件、多媒体消息的获取和调用等 *** 作,是通过media_id来进行的。通过本接口,公众号可以上传或下载多媒体文件。但请注意,每个多媒...

发布时间:2014-02-09

微信公众平台客服接口之开发文档详解

当用户主动发消息给公众号的时候(包括发送信息、点击自定义菜单click事件、订阅事件、扫描二维码事件、支付成功事件、用户维权),微信将会把消息数据推送给开发者,...

发布时间:2014-02-09

微信公众平台生成带参数的二维码之开发文档详解

为了满足用户渠道推广分析的需要,微信公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。

发布时间:2014-02-09

微信公众平台获取用户地理位置之开发文档详解

开通了上报地理位置接口的微信公众号,用户在关注后进入公众号会话时,会d框让用户确认是否允许公众号使用其地理位置。d框只在关注后出现一次,用户以后可以在公众...

发布时间:2014-02-09

微信公众平台获取用户基本信息之开发文档详解

在关注者与公众号产生消息交互后,微信公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同...

发布时间:2014-02-09

微信公众平台获取关注者列表之开发文档详解

微信公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的)组成。一次拉取调用最多拉取10000...

发布时间:2014-02-09

微信公众平台用户分组管理开发文档详解

微信开发者可以使用接口,对公众平台的分组进行查询、创建、修改 *** 作,也可以使用接口在需要时移动用户到某个分组。一个公众账号,最多支持创建500个分组。

发布时间:2014-02-09

微信公众平台自定义菜单开发文档详解

目前微信自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“ ”代替。请注意...

发布时间:2014-02-09

微信公众平台自定义菜单创建的Java代码示例

微信公众平台自定义菜单创建的Java代码示例,完整最新版代码,支持创建,查询,删除。自定义菜单只有服务号可以申请,订阅号暂时无法申请(继续观望微信的开放政策)...

发布时间:2013-10-04

微信服务号申请自定义菜单的介绍

微信今日发布新版,此次除上线游戏中心功能外,对公众账号来说,也有巨大改变。公众账号分为订阅号和服务号,其中订阅号消息被折叠。

发布时间:2013-10-04

微信公众号自定义菜单申请与使用问题解答

有不少人询问自定义菜单的问题,所以还是写出来比较好,也可以与之前的教程连贯起来。这次我还归纳了大家对自定义菜单问得最多的一些问题,希望能让大家对自定义菜单...

发布时间:2013-09-30

微信公众平台群发消息的图文攻略

微信的公众账号平台具备了自动回复、开发平台和认证等功能。其中的一些 *** 作大


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11880665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存