需要使用的依賴 ->httpclient-4.5版本
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5</version>
</dependency>
- 工作中遇到文件上傳至亞馬遜后,返回一個url(https://zihebest.s3.ap-southeast-1.amazonaws.com/20190423142511?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190423T062525Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AKIA5YQILDFXAKCE5LYV%2F20190423%2Fap-southeast-1%2Fs3%2Faws4_request&X-Amz-Signature=5ff7917702439363cbe39930f250f8eb2ff89337387953f52a0a62720ea10d9a),在瀏覽器中鍵入該地址后可直接下載,但文件是未知文件,無文件后綴名,由此可推測該url真實是一個流
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(result.getData());
HttpResponse backResponse = httpclient.execute(httpGet);
response.reset();
response.setContentType("application/msexcel");// 定義輸出類型
response.setCharacterEncoding("UTF-8");
out = response.getOutputStream();
backResponse.getEntity().writeTo(out);
代碼如上:需要借助HttpServletResponse 對象將流直接與瀏覽器建立下載鏈接,result.getData()=https://zihebest.s3.ap-southeast-1.amazonaws.com/20190423142511?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190423T062525Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AKIA5YQILDFXAKCE5LYV%2F20190423%2Fap-southeast-1%2Fs3%2Faws4_request&X-Amz-Signature=5ff7917702439363cbe39930f250f8eb2ff89337387953f52a0a62720ea10d9a