【问题标题】:How can access local file from localhost如何从 localhost 访问本地文件
【发布时间】:2018-06-07 15:32:21
【问题描述】:

我正在使用 Spring Boot 开发一个 Web 应用程序。在应用程序中,我上传文件并在该文件绝对路径保存在数据库中后复制到本地文件夹。所以我有文件,我知道它在哪里,但我无法在 localhost 中找到它。我知道在 spring 中有一个静态文件夹用于存放静态文件,但我不想复制文件,因为我将在其他应用程序中使用这些数据。

例如:

本地文件位置:/Users/user/data/image.png

我想这样联系:http://localhost:8080/data/image.png


编辑:我找到了解决方案。我为此使用了MvcUriComponentsBuilder

String url = MvcUriComponentsBuilder.fromMethodName(FileController.class,"serveFile",resource.getFilename()).build().toString();

它是控制器方法的正确返回值。

方法:

@GetMapping("/files/{filename:.+}")
    @ResponseBody
    public ResponseEntity<Resource> serveFile(@PathVariable String filename) {

        Resource file = storageService.loadAsResource(filename);
        return ResponseEntity.ok().header(HttpHeaders.CONTENT_DISPOSITION,
                "attachment; filename=\"" + file.getFilename() + "\"").body(file);
    }

【问题讨论】:

  • 您可以创建一个从实际位置读取文件的控制器,但通过 @RequestMapping 映射它,正如您在 localhost:8080 表单中描述的那样
  • 使用类路径从数据文件夹中获取文件并移动到您的绝对路径。

标签: java spring spring-boot localhost


【解决方案1】:

我认为问题在于您使用的网址。将其更改为:

@RequestMapping("/data/{filename:.+}")

这会起作用。

【讨论】:

  • 这不是我的问题,我也找到了解决方案。
猜你喜欢
  • 2019-01-26
  • 2014-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-02
  • 1970-01-01
相关资源
最近更新 更多