我正在使用 MvcUriComponentsBuilder.fromMethodName() 來獲取 URL 列表并將它們返回到前端。以下是示例輸出,其中我以 localhost 的形式獲取域:[ http://localhost:8081/files/1800_tiger.jpg/slideshow , http://localhost:8081/files/1800_trees.jpg/slideshow ]我希望 MvcUriComponentsBuilder 返回我系統的 IP 地址,而不是 localhost。以下是我的代碼實現: @CrossOrigin @RestController public class ContentResource { @RequestMapping("/getAllFiles") public ResponseEntity<List<String>> getAllFiles(@RequestParam String panelName) { List<String> fileNamesList = panelFileListMap.get(panelName); if (fileNamesList != null) { List<String> allFiles = fileNamesList.stream() .map(fileName -> MvcUriComponentsBuilder .fromMethodName(ContentResource.class, "getFile", fileName, panelName).build().toString()) .collect(Collectors.toList()); return ResponseEntity.ok().body(allFiles); } else { throw new RuntimeException("No images are uploaded in category = " + panelName); } } @GetMapping("/files/{filename:.+}/{panelName}") @ResponseBody public ResponseEntity<Resource> getFile(@PathVariable("filename") String filename, @PathVariable("panelName") String panelname) { Resource file = storageService.loadFile(filename, panelname); return ResponseEntity.ok() .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + file.getFilename() + "\"") .body(file); } }
添加回答
舉報
0/150
提交
取消