如何通过Postman向endpoint提交图片/PDF转换后的Byte array数据
报错信息翻译
你收到的报错内容翻译如下:
服务器处理请求时发生错误。异常信息为:“反序列化类型为Allscripts.UAI.Unity.UnityService.MagicInput的对象时出错。应为命名空间为空的结束元素'Data',实际找到命名空间为空的元素'item'。” 更多详情可查看服务器日志,异常堆栈跟踪如下:
错误根因
这个报错是你提交的Data字段格式不匹配服务端要求导致的:你现在传的是JSON数字数组格式的字节数组,但Allscripts Unity接口要求字节数组类参数必须传base64编码后的字符串,服务端反序列化时会把你提交的数组的每个元素识别为单独的
解决方案
调整请求格式
把Data字段的值从数字数组替换为文件对应的base64编码字符串,请求体示例如下:
{ "Action": "SaveDocument", "Appname": "test", "AppUserID": "123", "PatientID": "668833", ..... "Data": "此处替换为你的文件对应的base64编码字符串" }
同时确认请求头Content-Type设置为application/json。
文件转base64的方法
不需要依赖在线工具也可以快速完成转换:
- Windows系统:打开PowerShell,执行以下命令(替换为你的实际文件路径),即可直接得到base64编码结果:
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\你的文件路径\示例.pdf")) - Mac/Linux系统:打开终端,执行以下命令(替换为你的实际文件路径)即可:
base64 /你的文件路径/示例.png - 如果你需要在线工具,直接搜索「文件转base64」即可找到大量可用工具,转换后直接复制结果填入
Data字段即可。
内容的提问来源于stack exchange,提问作者Alma
相关产品推荐
相关产品推荐

