调用Oracle JDE Media Object上传API时遇415/400错误求助
解决Oracle JDE Media Object v2/file/upload API上传异常问题
我之前踩过JDE Media Object v2上传API的类似坑,给你梳理下问题根源和解决步骤:
为什么会出现这两个错误?
- 415 Unsupported Media Type:这个API本质是文件上传接口,设计上只接受
multipart/form-data类型的请求,不支持纯application/json的请求体,所以用application/json肯定会报错。 - 400 Bad Request:你用multipart/form-data时的请求格式不对——不是把整个JSON直接丢进去,也不能在JSON里写本地文件路径(JDE服务器根本访问不到你电脑上的
C:\\temp.pdf),必须把JSON参数和实际文件内容拆成表单的两个部分。
正确的Postman请求配置步骤
- 把请求方法设为
POST,填入正确的API端点URL - 切换到Body标签,选择
form-data类型 - 添加第一个表单字段:
- Key:
request - Value: 把你的JSON参数以字符串形式粘贴进去(注意不要有多余的换行或空格):
{ "deviceName": "MyDevice", "ssoEnabled": false, "moStructure": "ABGT", "moKey": [ "7500" ], "formName": "P57CW05_W57CW05A", "version": "ZJDE0001", "file": { "fileName": "temp.pdf", "itemName": "Uploaded File APIs", "sequence": 0 } } - 类型保持默认的
Text即可
- Key:
- 添加第二个表单字段:
- Key:
file - 类型切换为
File - 点击右侧的文件选择按钮,选中你本地的
C:\\temp.pdf
- Key:
- 不需要手动设置Content-Type头部,Postman会自动生成带正确boundary的
multipart/form-data头部
额外注意事项
- 去掉JSON里的
fileLocation字段:这个字段是JDE服务器内部存储文件时用的,客户端上传时不需要指定,填了反而会导致参数解析错误 - 确认参数的有效性:比如
moStructure、formName、version必须是JDE系统中存在的,且你的用户有对应访问权限 - 如果还是报400,打开Postman的Console查看完整的请求内容,对比JDE官方文档的示例格式,检查是否有参数拼写错误或格式问题
内容的提问来源于stack exchange,提问作者Minna
相关产品推荐
相关产品推荐

