使用Postman通过WhatsApp API发送PDF时文件类型错误
问题分析与解决方案
核心问题是WhatsApp API服务器接收到的文件实际为JPEG格式,而非你预期的PDF,因此返回的mime_type显示为image/jpeg,最终导致APP端显示异常(Web端因兼容文件后缀显示正常)。以下是具体排查和解决步骤:
1. 确认文件真实格式
你可能误将JPEG文件重命名为.pdf后缀,但文件本质仍是图片。验证方式:
- 本地下载OneDrive中的文件,右键查看「属性」-「类型」,确认是否为「PDF文档」
- 用文本编辑器打开文件开头,PDF文件头部会显示
%PDF-,JPEG则是ÿØÿà类十六进制标识
2. 上传时强制指定MIME类型
上传到WhatsApp API时,必须明确指定mime_type为application/pdf,避免服务器自动检测出错。上传请求示例:
{ "messaging_product": "whatsapp", "file": "<文件二进制内容>", "type": "document", "mime_type": "application/pdf" }
若通过链接上传,需确保请求头中Content-Type设置为application/pdf
3. 检查OneDrive文件的获取链接
若通过OneDrive分享链接上传,需确保链接返回原始PDF文件,而非预览图/缩略图:
- 调整OneDrive链接参数,避免返回网页预览
- 在浏览器中打开链接,确认下载的是PDF而非图片
4. 重新上传并验证媒体信息
上传正确的PDF文件后,调用获取媒体信息的接口,确认返回的mime_type为application/pdf,再用该媒体ID发送消息即可正常显示。
内容的提问来源于stack exchange,提问作者Matko
相关产品推荐
相关产品推荐

