关于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());

 

  

posted @ 2014-01-04 22:47  coreWars  阅读(1569)  评论(0编辑  收藏  举报