Java实现企业微信上传临时文件获取media_id
目录
- 1 上传临时素材API
- 2 测试代码
- 3 测试完成
- 4 遇到的问题
- 4.1 文件类型无法解析
1 上传临时素材API
调试工具
素材上传得到media_id,该media_id仅三天内有效
media_id在同一企业内应用之间可以共享
请求方式:POST(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/media/uploadaccess_token=ACCESS_TOKEN&type=TYPE
使用multipart/form-data POST上传文件, 文件标识名为”media”
参数说明:
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
type | 是 | 媒体文件类型,分别有图片(image)、语音(voice)、视频(video),普通文件(file) |
POST的请求包中,form-data中媒体文件标识,应包含有 filename、filelength、content-type等信息
filename标识文件展示的名称。比如,使用该media_id发消息时,展示的文件名由该字段控制
请求示例:
POST https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=accesstoken001&type=file
HTTP/1.1Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468
Content-Length: 220---------------------------acebdf13572468
Content-Disposition: form-data; name="media";filename="wework.txt"; filelength=6
Content-Type: application/octet-streammytext---------------------------acebdf13572468--
2 测试代码
@ApiOperation(value = "企业微信上传临时文件", notes = "企业微信上传临时文件")@PostMapping("/uploadimg")public String uploadimg(MultipartFile files) throws IOException {RestTemplate restTemplate = new RestTemplate();URI uri = UriComponentsBuilder.fromHttpUrl("https://qyapi.weixin.qq.com/cgi-bin/media/upload").queryParam("access_token", "oWtvz7v8bG8_y3a-OducvPyR4312eAmkPLZyLMnP_tKcoQ0c1ZIgWzaXHnp6rZxCgtFHCMXTi6MgOh0jEwwaSglz8TnFdSdPRK2IF1yKA_u5CGwVSgBrkyw2Gx5PgMKlWr8xmikRvMZXVahDS1CIiJZN9D97ZfScozLIFF-25xPDES2n9_8ZKruTj3olO8E5bGXnYsmgwAyU2jxx3CcoNQ").queryParam("type", "file").build().toUri();InputStream inputStream = files.getInputStream();String s = restTemplate.postForObject(uri, new InputStreamResource(inputStream), String.class);return s;}
3 测试完成
4 遇到的问题
4.1 文件类型无法解析
说明传递的文件没有文件名
个人代码:
@ApiOperation(value = "企业微信上传临时文件", notes = "企业微信上传临时文件")@PostMapping("/uploadimg")public String uploadimg() throws IOException {RestTemplate restTemplate = new RestTemplate();URI uri = UriComponentsBuilder.fromHttpUrl("https://qyapi.weixin.qq.com/cgi-bin/media/upload").queryParam("access_token", "oWtvz7v8bG8_y3a-OducvPyR4312eAmkPLZyLMnP_tKcoQ0c1ZIgWzaXHnp6rZxCgtFHCMXTi6MgOh0jEwwaSglz8TnFdSdPRK2IF1yKA_u5CGwVSgBrkyw2Gx5PgMKlWr8xmikRvMZXVahDS1CIiJZN9D97ZfScozLIFF-25xPDES2n9_8ZKruTj3olO8E5bGXnYsmgwAyU2jxx3CcoNQ").queryParam("type", "image").build().toUri();FileSystemResource fileSystemResource = new FileSystemResource("C:\\Users\\Administrator\\Desktop\\3d3c789387ffd4e12006f16f7c78b187.jpg");HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.MULTIPART_FORM_DATA);/*Content-Disposition: form-data; name="media";filename="wework.txt"; filelength=6*/ContentDisposition build = ContentDisposition.builder("form-data").filename(fileSystemResource.getFilename()).build();headers.setContentDisposition(build);MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();params.add("media", fileSystemResource);HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);String s = restTemplate.postForObject(uri,requestEntity , String.class);return s;}
Java实现企业微信上传临时文件获取media_id相关推荐
- 企业微信上传素材,java httpPost Multipart FormData
上传调用 String uploadUrl = "https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={token}& ...
- 企业微信 上传临时素材 JAVA
上传临时素材 Controller @ResponseBody@RequestMapping(value = "/uploadFile", method = RequestMeth ...
- 企业微信上传文件到服务器,上传素材到腾讯企业微信服务器
//filetype:文件类型:filePath:文件所在路径 @Override public JSONObject uploadMedia(String fileType, String file ...
- 企业微信上传临时素材文件
1.控制层 /*** 上传临时素材*/@ResponseBody@PostMapping("/uploadResource")public BaseResponse uploadR ...
- .net core 使用HttpClient为企业微信上传临时素材
背景: 企微的图片三天有效,所以需要一个定时程序把快到期的图片又传一次到企微上面去 /// <summary>/// 向企业微信临时素材提交数据/// </summary>// ...
- 阿里云 对象存储java实现OSS文件上传及获取URL
本人已尝试上传成功 maven加载的jar包 pom配置 <dependency><groupId>com.aliyun.oss</groupId><arti ...
- java调用企业微信接口发送文件功能
java调用企业微信接口发送文件功能 代码 结合几位大佬的代码后实现此功能:感谢大佬让我完成此功能的实现,如有侵权,立刻删除. 借鉴文章地址: java调用企业微信接口发送消息https://blog ...
- 微信公众平台对接C#-上传临时文件
#region 上传临时文件/// <summary>///上传临时文件/// </summary>public class Medial{public string type ...
- 基于Java实现企业微信群聊机器人-文件上传+消息推送(保证可用)
基于Java实现企业微信群聊机器人-文件上传+消息推送 1.pom.xml(注意版本尽量保持一致) 2.文件工具类 3.企业微信请求类 4.企业微信响应类 5.发送方法 6.企业微信机器人创建和配置 ...
最新文章
- CUPS Share Printer
- Ext JS 4预览:重构和规范渲染过程()
- lsit集合去重复 顶级表达式
- 桌面虚拟化“寻人行动”-转裁
- 【正一专栏】故意豪宅纵火的保姆会判死刑吗?
- Macosx Setdns
- 爱玛士关于爬虫的scrapy框架的心得
- IOCP 浅析与实例
- linux db2创建存储过程语法,EF基础一-db2存储过程中循环语句while do...-oracle 创建DBLINK_169IT.COM...
- 简明Vim练级攻略(初学者)
- .NET6之MiniAPI(五):选项
- Spring:@Transactional 注解使用讲解
- python语言翻译成汇编语言_计原 || 1计算机语言发展与计算机层次结构
- xshell 4 中文乱码问题解决
- MindManager 2021授权许可密钥思维导图软件
- 中国人保为闲人谷中药科技承保产品责任险,为消费者保驾护航!
- android 朋友圈图文,Android 微信分享图片(好友和朋友圈)
- 查看思科交换机出厂时间
- python爬淘宝商品销量信息_python爬取淘宝商品销量信息
- 为什么模电这么难学?