我有一个控制器方法,可以在服务器上创建一些文件并返回它们的路径。:
@RequestMapping(value="/file", method=RequestMethod.GET)
public @ResponseBody String retrieveFile(@RequestParam("userid") String userId){
//Do some work, save a file
File newFile=Utils.getFile(userId);
FileSystemResource f=new FileSystemResource(newFile);
return f.getURL().toString();
}
在本地计算机上运行时,响应如下:
文件:/ d:/SDKs/spring-tool-suite-3.7.1.RELEASE-e4.5.1-win32-x86_64/sts-bundle/sts-3.7.1.RELEASE/file.jpg
当我将应用程序部署到aws beanstalk时,响应是这样的:
文件:/usr/share/tomcat8/file.jpg
如何以类似于本地计算机上发生的方式检索绝对文件路径?
答案 0 :(得分:1)
虽然取决于服务器,但您可能没有与本地计算机上相同的路径...
只要你尝试了正常,
file.getAbsolutePath()
在http://docs.oracle.com/javase/7/docs/api/java/io/File.html中运行并返回相同的内容,无法获取驱动器名称和所有内容,特别是如果它是VPS