日记:近期遇到一个需求:需要通过app上传多张图片,操作端是PDA基于ios使用UIImage对象传输,一次性多张,然后调用我一个接口上传。
听起来简单,接受前端的二进制流数组,解析,该传哪儿就传哪儿…但是实际操作却出现了问题。
困扰我的问题
我怎么都接受不到传过来的内容,注册的接口根本没有进入到我的方法体…报错415 Unsupported Media Type…通过postman模拟,RequestBody是multipart/form-data类型的数据,后台接收参数类型HttpServletRequest不行,MultipartHttpServletRequest不行,InputStream接受到的(单张图片)不知为啥倒是解析成图片之后缺点东西(图片不完整,要么是乱码),找了很多网站,stackoverflow是把我带的最偏的一个,说解析application/json的包的版本不对…以后还是自己多看抛的异常…多往自己经验上面去靠才行------比如说这个问题,异常说得清清楚楚我的参数类型无法匹配前端的数据类型,但还是习惯性的去baidu,bing,stackoverflow…
问题解决
使用
multipartformDataInput
可以完美接受图片流,可以解析传过来多张图片的情况,实体对象的个getMultipart()方法(名称凭记忆写,没有验证,大致相同)可以获取对应图片集合getMultiForm(),是个Map<String,List<Input
>>类型(大致)的数据。