我在Spring工作。
我的控制器上有这个代码
@Controller
public class FileUploadController {
@RequestMapping(value = "/file-upload", method = RequestMethod.POST)
@ResponseBody
public String uploadFile(@RequestParam("file") MultipartFile file, HttpServletRequest request,ServletContext context) throws IOException {
if(!file.isEmpty()) {
file.transferTo(new File("/data.xml"));
return "ok";
}
else {
return "Empty";
}
}
}
我只想将上传的文件保存到根目录。
在我看来,我使用了一个绝对的Root路径,但我现在不知道如何找到它。
有人能帮助我吗?
答案 0 :(得分:1)
你可以获得真正的道路 HttpServletRequest.getSession().getServletContext()但这会有所帮助如果您的应用程序有会话。如果您的应用程序是无会话的,那么您可以通过实施ServletContextAware来实现。
如果申请有会话,那么
request.getSession().getServletContext().getRealPath("WEB-INF");
另一种获得真实路径的方式。
答案 1 :(得分:0)
从您的一个对象获取类加载器并使用它来获取其本地路径。这将为您提供Tomcat中执行点的路径。从那里你可以找到你想要的位置。
obj.getClass()的getResource( “/”)。