java中如何通过代码来直接访问本地文件呢?这里做一个小记录,方便以后随时取用。
首先我们需要在代码上传的接口中将文件的存储路径给找到。(不找也可以直接测试,不过方便以后理解记录一下)
这里将代码和图片一起记录一下
注意:你得确定你有这个路径,且路径下有这个文件夹,文件夹中有这个文件
话不多说,开整。
第一步
可以看到我本地目前存储文件的地址,url代表后面访问时后面加上fpath就可以直接访问本地图片
//判断系统是windows 还是linux String os = System.getProperty("os.name"); if (os != null && os.toLowerCase().startsWith("windows")) { System.out.println(String.format("当前系统版本是:%s", os)); url=""; fpath= "/C:/home/zftdshxt/file"; } else if (os != null && os.toLowerCase().startsWith("linux")) {//Linux操作系统 System.out.println(String.format("当前系统版本是:%s", os)); url=""; fpath="/C:/home/zftdshxt/file"; } else { //其它操作系统 System.out.println(String.format("当前系统版本是:%s", os)); } File dest = new File(fpath +"/"+ newname); FileUtil.touch(dest); file.transferTo(dest);
第二步
用到的配置,我一般放在config目录下,统一的配置类嘛
/** * 文件路径配置,可以直接访问 * 映射的路径后面必须加/,否则访问不到 */ @Configuration public class FilePathConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //和页面有关的静态目录都放在项目的static目录下 registry.addResourceHandler("/upload/**").addResourceLocations("file:C:/home/zftdshxt/file/"); } }
这里注意这两个地方,第一个地方是访问图片的路径,后面是文件的地址。
第三步
然后这里的最终访问路径也就是通过第一步中的url +upload+文件名称 即http://*****/upload/文件
重新启动项目,通过端口访问,访问成功。