下载图片
RestTemplate restTemplate=new RestTemplate();
ResponseEntity<Resource> forObject = restTemplate.getForEntity(
"http://127.0.0.1:8030/images/1.jpg",
Resource.class);
Path path = Paths.get("D:\\Users\\StSahana\\Desktop", "a.jpg");
Files.copy(forObject.getBody().getInputStream(),path);
访问图片URL并返回byte[]
ResponseEntity<byte[]> response = restTemplate.exchange("http://127.0.0.1:8030/images/1.jpg",
HttpMethod.GET, null, byte[].class);
byte[] imageBytes = response.getBody();
原生httpclient发送文件到服务端
FileSystemResource resource =new FileSystemResource(new File(path.toString()));
MultiValueMap<String, Object> form = new LinkedMultiValueMap<String, Object>();
form.add("file",resource);
HttpEntity< MultiValueMap<String, Object> > formEntity = new HttpEntity< MultiValueMap<String, Object> >(form, headers);
HttpEntity<String> res = restTemplate.exchange("http://127.0.0.1:8080/upload", HttpMethod.POST, formEntity, String.class);
System.out.println(res.getBody());
原生httpclient访问图片并直接上传至服务端。
JSONObject result = null;
HttpPost post = null;
CloseableHttpResponse resp = null;
CloseableHttpClient client = null;
CloseableHttpResponse response1 = null;//访问url的response
CloseableHttpClient httpclient = null;//访问pic的client
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(defaultSocketTimeout).setConnectTimeout(defaultConnectionTimeout)
.build();
try {
client = HttpClients.createDefault();
URI uri = new URIBuilder(platformConfiguration.getBaseurl())
.setPath(personUrl.getUploadPic())
.setParameter("personId", personId + "")
.setParameter("token", cardLogin.getToken(isExpired))
.build();
post = new HttpPost(uri);
httpclient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(picUrl);
httpGet.setConfig(requestConfig);
response1 = httpclient.execute(httpGet);
HttpEntity entity1 = response1.getEntity();
InputStream input1 = entity1.getContent();
//塞进实体
InputStreamBody inputStreamBody = new InputStreamBody(input1, StringUtils.getFilename(picUrl));
// FileBody file = new FileBody(new File("D:\\aaaa.jpg"));
HttpEntity entity = MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE).addPart("file", inputStreamBody).build();
post.setEntity(entity);
post.setConfig(requestConfig);
resp = client.execute(post);
HttpEntity respEntity = resp.getEntity();
String tempResult;
if (null != respEntity) {
tempResult = EntityUtils.toString(respEntity, Consts.UTF_8);
log.info("获取到的返回结果:" + tempResult);
result = JSON.parseObject(tempResult);
}
} catch (Exception e) {
log.error("上传图片失败");
log.error(e.getMessage());
e.printStackTrace();
} finally {
try {
if (null != resp) {
resp.close();
}
if (null != client) {
client.close();
}
if (null != httpclient) {
httpclient.close();
}
if (null != response1) {
response1.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}