有人用过企微的文件上传接口吗?我的场景是需要传打印文件节点生成的 PDF 到企微里
12/11 更新:知道怎么改了,分享下代码...
三个 input:
- FileUrl:文件的地址,可以是明道云的附件,但需要提前用这个代码块来提取一下附件的 URL
- fileN:文件名,不包括扩展名
- keyId:企微的群聊机器人的 KeyID,就是 key=XXX 后面这段 XXX
我这里传的是 PDF 文件,如果是别的类型文件的话记得改 filename 和 contentType 的值
const FormData = require('form-data');
var data = await fetch(input.fileUrl).then(r => r.buffer()).then(buf => buf.toString('base64'));
var fileStream = Buffer.from(data, 'base64');
let formdata = new FormData();
formdata.append("file", fileStream, {
filename: input.fileN+".pdf",
contentType: 'application/pdf'
});
const response = await fetch("https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key="+input.keyId+"&type=file", {
body: formdata,
method: "POST",
headers: formdata.getHeaders()
});
const result = await response.json();
return result;