gpt4 book ai didi

java - Spring Boot 应用的应用根路径

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:16:12 24 4
gpt4 key购买 nike

answer不是获取应用程序根路径(文件系统路径)的标准方法。我需要将文件上传到目录,例如在应用程序主目录中创建的上传。如何在我的 Java 类中获取应用程序根路径。我正在开发 Rest API。请在这方面提供帮助。

最佳答案

如果我理解正确,您想开发一个 REST API,旨在将文件上传到位于您的应用程序目录中的目录。建议在资源目录中创建文件、图像等。基本上你应该使用 servlet 上下文来获取这个目录的绝对路径。首先你需要servletContext

@Autowired
ServletContext context;

然后可以得到绝对和相对目录("resources/uploads"):

String absolutePath = context.getRealPath("resources/uploads");
File uploadedFile = new File(absolutePath, "your_file_name");

编辑:

您想开发 rest api。所以可以先创建一个controller类

@RestController
@RequestMapping("/file")
public class FileController {

@Autowired
ServletContext context;

@PostMapping("/upload")
public String fileUpload(@RequestParam("file") MultipartFile file) {

if (file.isEmpty()) {
throw new RuntimeException("Please load a file");
}

try {

// Get the file and save it uploads dir
byte[] bytes = file.getBytes();
Path path = Paths.get(context.getRealPath("uploads") + file.getOriginalFilename());
Files.write(path, bytes);

} catch (IOException e) {
e.printStackTrace();
}

return "success";
}

}

还有另一种管理文件操作的方法,Spring Boot 文档解释得很好:Uploading Files Spring Boot

关于java - Spring Boot 应用的应用根路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43846093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com