关于put 上传图片的解决方式

  客户端:

    因为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());

  

原文地址:https://www.cnblogs.com/ytfcz/p/3505439.html