項目中使用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
在此我們可以自定義為自己設計好的類型格式