小程序
小游戏
企业微信
微信支付
扫描小程序码分享
https://developers.weixin.qq.com/doc/store/API/basics/img_upload.html
上传后成功返回mediaId,通过mediaId下载,提示图片损坏,对比二进制流,发现返回的头部多了文件名和文件类型,请问如何处理?????
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
BufferedImage img = ImageIO.read(file.getInputStream()); //获取图片的长和宽 int width = img.getWidth(); int height = img.getHeight(); // 调用微信上传图片接口 // 使用Hutool的HttpUtil上传图片 JSONObject jsonParam = new JSONObject(); jsonParam.put("upload_type",0); jsonParam.put("resp_type",0); jsonParam.put("height",height); jsonParam.put("width",width); List<String> list = new ArrayList<>(); for(String key : jsonParam.keySet()){ list.add(String.format("%s=%s",key,jsonParam.getString(key))); } String token = TenantTokenCacheUtils.getToken(UserContextHolder.getTenantId()); String strUrl = String.format("https://api.weixin.qq.com/channels/ec/basics/img/upload?access_token=%s&%s",token,String.join("&",list)); File tempFile = new File("D:\\temp_image.jpg"); file.transferTo(tempFile); HttpResponse response = HttpUtil.createPost(strUrl) .header("content-type", "image/jpg") .form("media", tempFile).execute();
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
postman试过吗
用了也得用对啊,咋用的,代码咋写的全看不见
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
BufferedImage img = ImageIO.read(file.getInputStream()); //获取图片的长和宽 int width = img.getWidth(); int height = img.getHeight(); // 调用微信上传图片接口 // 使用Hutool的HttpUtil上传图片 JSONObject jsonParam = new JSONObject(); jsonParam.put("upload_type",0); jsonParam.put("resp_type",0); jsonParam.put("height",height); jsonParam.put("width",width); List<String> list = new ArrayList<>(); for(String key : jsonParam.keySet()){ list.add(String.format("%s=%s",key,jsonParam.getString(key))); } String token = TenantTokenCacheUtils.getToken(UserContextHolder.getTenantId()); String strUrl = String.format("https://api.weixin.qq.com/channels/ec/basics/img/upload?access_token=%s&%s",token,String.join("&",list)); File tempFile = new File("D:\\temp_image.jpg"); file.transferTo(tempFile); HttpResponse response = HttpUtil.createPost(strUrl) .header("content-type", "image/jpg") .form("media", tempFile).execute();
postman试过吗
用了也得用对啊,咋用的,代码咋写的全看不见