项目中使用postman模拟上传文件接口时,总是不成功,发现content-type设置不对,设置head的contentType后,还是不行,后来无意中发现文件参数默认的content-type类型设置有问题。
服务端接口:
@Path("/user/{uid}/upload") @Consumes(MediaType.MULTIPART_FORM_DATA) public Map<String, Object> updateResource(@PathParam("uid") Long uid, List<Attachment> attachments);
代码中对参数的content-Type做了判断:
if(attachment.getContentType().isCompatible(MediaType.APPLICATION_OCTET_STREAM_TYPE))
解决方法:
默认情况下,参数的content-type这一列是隐藏的,需要在左上角勾选上才能显示,然后可以自定义,默认的情况下,会根据文件类型默认一个值,比如图片文件,content-Type为image/gif
在此我们可以自定义为自己设计好的类型格式