客户端:
因为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());