restTemplate 发送http post请求带有文件流、参数

String httpMethod = "";
RestTemplate restTemplate = new RestTemplate();
String args = "";

MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<>();
paramMap.add("args", args);
paramMap.add("sign", "");

File file=new File("D:\\5a658c98Nd0abcb82.jpg");
byte[] bytesArray = new byte[(int) file.length()];

FileInputStream fis = new FileInputStream(file);
fis.read(bytesArray); //read file into bytes[]
fis.close();

ByteArrayResource contentsAsResource = new ByteArrayResource(bytesArray) {
    @Override
    public String getFilename() {
        return "img";
    }
};
paramMap.add("img", contentsAsResource);
JSONObject json = restTemplate.postForObject(httpMethod, paramMap, JSONObject.class);
System.out.println("post json : " + json);

注意点

1.返回处理

2.MultiValueMap

posted @ 2018-11-06 18:14  诸葛子房  阅读(21837)  评论(2编辑  收藏  举报