下載圖片
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();
}
}