为了账号安全,请及时绑定邮箱和手机立即绑定

从 MvcUriComponentsBuilder.fromMethodName()

从 MvcUriComponentsBuilder.fromMethodName()

素胚勾勒不出你 2021-08-13 15:23:32
我正在使用 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);    }        }
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 350 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信