使用Form Recognizer预览版分析表单时遇UnsupportedMediaType错误
排查Form Recognizer分析请求的UnsupportedMediaType错误
你遇到的UnsupportedMediaType错误,核心问题是Form Recognizer没有正确识别到你上传的PDF文件的媒体类型——哪怕你确认文件是PDF格式,大概率是curl命令的文件上传格式写错了。
最可能的原因
你在-F参数里写的form=[omitted];type=application/pdf,如果[omitted]是本地PDF文件的路径,那这里缺少了@符号。没有@的话,curl会把路径字符串当作表单字段的内容,而不是读取并上传指定路径的文件,这就导致服务端接收到的不是PDF文件,自然会报错媒体类型不支持。
解决办法
修正curl命令,在文件路径前加上@符号,让curl知道要上传这个路径下的文件:
curl -X POST "https://[omitted]/formrecognizer/v1.0-preview/custom/models/[omitted]/analyze" \ -H "Ocp-Apim-Subscription-Key: [omitted]" \ -F "form=@/your/local/path/to/file.pdf;type=application/pdf"
另外补充两个验证小技巧:
- 加上
-v参数运行curl,查看请求详情,确认Content-Disposition里的filename是否正确,以及Content-Type是否为application/pdf - 尽量不要手动设置
Content-Type: multipart/form-data,curl会自动生成正确的多部分请求头,手动设置可能会遗漏边界参数,导致服务端解析异常
内容的提问来源于stack exchange,提问作者Brian Ryther
相关产品推荐
相关产品推荐

