Я делаю весенний загрузочный веб-сервис, который получает запрос на загрузку файла.
Домен для этой службы a.com
, и эта служба приносит запрашиваемый файл из b.com
домена.
Эта служба должна запрашивать файл из внешнего домена.
Я хочу знать, как вернуть ответ клиенту для запроса загрузки файла в этом случае.
Ниже приведен код, который я сделал.
@RequestMapping(path = "/downloadFile", method = RequestMethod.GET)
public ResponseEntity<Resource> download(String param) throws IOException {
String testFileName = "https://www.google.co.jp/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"
URL url = new URL(testFileName);
File file = new File(url.getFile());
HttpHeaders headers = new HttpHeaders();
headers.add("Cache-Control", "no-cache, no-store, must-revalidate");
headers.add("Pragma", "no-cache");
headers.add("Expires", "0");
Path path = Paths.get(file.getAbsolutePath());
ByteArrayResource resource = new ByteArrayResource(Files.readAllBytes(path));
return ResponseEntity.ok()
.headers(headers)
.contentLength(file.length())
.contentType(MediaType.parseMediaType("application/octet-stream"))
.body(resource);
}
Но он не работает из-за пути к файлу.Его путь отображается следующим образом.
/Users/user/devel/acomapplication/https:/www.google.co.jp/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png