客户端:
因为put只支持单一类型的资源进行传输,所以不能使用像 Multipart/form-data这样的content-type进行描述,而只能使用像image/jpeg 、image/png的形 式进行图片的传输。
代码:
RestTemplate restTemplate = super.buildRestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_PNG);
HttpEntity request = new HttpEntity(new ClassPathResource("panda.png"),headers); // 这个地方没给图片指定变量名
String url = serviceUrl+"/contents/{id}/icon";
Map<String,String> urlParams = new HashMap<String,String>();
urlParams.put("id", "2");
restTemplate.put(url, request ,urlParams );
服务端:
服务端的接收方式可以使用 HttpServletRequest进行接收:
byte[] fileContent = IOUtils.toByteArray(request.getInputStream());