springboot项目文件上传路径和读取路径不一致 10C
        //根目录路径
        String rootPath = request.getRealPath("/") + "attached/";
        //根目录URL
        String rootUrl  = request.getContextPath() + "/attached/";

代码如上,框架用的是springboot,内置tomcat,项目管理的maven
我在文件上传和下载类用的获取路径的方法都是上面的代码,但是我在运行的时候,发现文件上传目录是在C:\Users\Administrator\AppData\Local\Temp\tomcat-docbase.1083509166823006581.8888\attached/下面
url是在/attached/下面
下载目录是在C:\Users\Administrator\AppData\Local\Temp\tomcat-docbase.1083509166823006581.8888\attached/下面
url是在/attached/下面,看起来是一样的。
但是我加载的图片就是损坏的,路径找不到,如果我直接从项目下面找就能找到。我感觉是url的额相对路径有问题。这个url的相对路径到底是从哪里开始的?

0

2个回答

把路径打印出来看,行不

0
Hard_farmer
风再云巅 大佬 最终是怎么解决的呢? 能否交流一下呢?
10 天之前 回复
HungerCarry
Hunger_Crazy 不应该啊
大约 2 年之前 回复
T1358696550
舊歡如夢 回复HungerCarry: 是啊,我图片保存的地址和url就是这段代码,打印出来的东西也就是我贴在下面的那一串
大约 2 年之前 回复
HungerCarry
Hunger_Crazy 回复T1358696550: 你的图片的路径也是这个?
大约 2 年之前 回复
T1358696550
舊歡如夢 问题里面的路径和url,就是打印出来的
大约 2 年之前 回复

我也遇到了这个问题,请问楼主如何解决的

0
qq_39609151
Murphy_fly 我也遇到了这个问题
一年多之前 回复
T1358696550
舊歡如夢 配置虚拟目录
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
详细全面的Spring Boot文件上传
最近再看Spring Boot 就想做一个文件上传的url。 如图:文件目录如下: 在这里 为什么不把文件上传到resources里,因为上传到这里 必须重新启项目,才能生效,所以 新建了webapp,像web应用一样,上传到这里。完美解决这个问题。 对啦,在这里提下springboot的跳转html文件的方式,我采用的是Thymeleaf,点我,参考Thymeleaf 好了,不多说了,
web工程本地跟tomcat部署导致根路径不一致问题
如果本地web工程部署本地tomcat后,控制器中获取的文件路径(new FileOutputStream(filePath))不会是工程路径E:\myeclipse\SSHWeb 而是tomcat部署的E:\apache-tomcat-7.0.23\apache-tomcat-7.0.23\webapps\SSHWeb路径   如何解决呢? 1.设置个常量类来区分是本地版本还是服务器版本
springboot文件上传路径保存数据库并且可以复制路径网页访问图片
里面是完整的案例 自己项目里面摘出来的 项目亲测有效
记录tomcat启动项目名称与浏览器上的访问路径不一致,导致访问路径出错,验证码无法显示问题
    今天,遇到一个奇怪的问题,项目启动时,浏览器上的访问路径中的项目名称,与启动的项目名称不一致, 由此引发了,登录页面验证码无法获取,因为,访问路径出错,(获取验证码的路径,是在js中写好的,对应项目名称) 折腾了好久,可能是启动tomcat,次数过多,或者配了多个的缘故,导致,sever中的server.xml路径出错了, 将其修改为项目名称,后正确运行了。 ...
springBoot 连接打包成jar包运行时,获取图片上传文件、前端页面等文件
springBoot 连接打包成jar包运行时,获取图片上传文件、前端页面等文件问题背景:在使用springboot进行开发时,会将项目打包成jar包,进行运行。 问题1:使用文件上传功能后,怎么获取文件? 问题2:每次更新前端文件,都需要重新运行项目jar包,是否过于麻烦解决方法在application.properties/application.yml中进行配置web.upload-pat
springboot静态资源路径配置与部署项目文件上传路径问题
原文出于:https://www.jianshu.com/p/20a63d144551;https://blog.csdn.net/heylun/article/details/78732451什么是静态资源路径静态资源路径是指系统可以直接访问的路径,且路径下所有文件均可被用户直接读取。在springboot中默认的静态资源路劲有:classpath:/META-INF/resources/ ,c...
项目复制引起的访问路径与项目名不一致
1、项目复制引起的访问路径与项目名不一致 解决:右键项目—点击properties—Web Project Settiings-》Context root修改为项目的名称
Spring Boot上传图片到项目根路径文件夹下
如果想让 Spring Boot上传文件,上传到项目的根路径下(不是容器实例,这里很容易出错) Spring Boot上传图片到项目根路径文件夹下 UploadUtils.java 注意构建“图片文件夹路径” public class UploadUtils { // 项目根路径下的目录 -- SpringBoot static 目录相当于是根路径下(SpringBoot 默...
WEB项目的相对路径与绝对路径
1 与路径相关的操作 l  超链接 l  表单 l  转发 l  包含 l  重定向 l  l  ServletContext获取资源 l  Class获取资源 l  ClassLoader获取资源   【 先说结论: 1、强烈建议使用“/”开头的路径 2、超链接、表单、重定向:以“/”开头的的路径相对于主机根目录【http://localhost:8080/】
关于springboot2.0 图片上传静态文件虚拟路径的映射
首先添加需要的依赖: <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> &
文件上传到本地磁盘,磁盘路径适应window和linux
private void uploadDisk(InputStream inputStream, String fileName) {         OutputStream os = null;         try {             String csvDir = "/data/csv";             File csvDirectory = new File(csvD...
将上传的文件放在springboot项目同级目录下
好处:可以将项目与上传的文件分隔开。这里讲解一下getParentFile()和getParent()的用法要创建AAAA.txt ,必须得有1\2 这个目录,所以必须执行a.getParentFile().mkdirs()创建文件夹,执行完后在a.createNewFile()创建a文件;getParent()此方法返回父目录的路径名字符串命名此抽象路径名,或如果路径名没有指定父目录则为null...
Springboot项目下载/上传路径整理
以前写SSM项目的时候,项目结构是webapp,所以在代码里./就是相对路径。 但是在resources目录下,这样的写法是 resources目录项目 1. ./表示什么 实验表明, 在resources目录结构下./表示项目源码根目录 2. request.getServletContext().getContextPath()表示什么 这里我们可以看...
SpringBoot中使用yml配置文件以及配置类实现文件上传下载路径的修改
场景 SpringBoot+thymeleaf实现文件下载或者实现文件上传需要配置文件上传路径的地方, 不要写为固定路径,在配置文件中指定文件路径,代码中直接引用。 避免以后文件路径修改后需要修改业务代码。 SpringBoot+thymeleaf实现文件下载参照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/887...
SpringBoot设置虚拟路径映射绝对路径---文件上传
上传图片到本地路径,得到的是一个绝对路径例如:D:\picpath\O48681516429132485.png 但是前台需要的数据是这样的 :http://localhost:8082/image/O48681516429132485.png 那么就要设置虚拟路径 /image/ = D:\picpath\ 了,下面我们就来代码实现下,作为一个负责任 的程序员,我把包也给你们复制过来了。 ...
javaWEB相同项目同一路径访问结果不一致解决
在给项目写接口中,本人将用户uuid缓存至ehcache中,但是出现一个诡异的问题,就是其中两个接口能正常根据uid获取用户信息,唯有一个接口根据uid一直获取不到用户信息,并且在本地运行正常,唯独服务器上不通过,通过对classLoader的输出中发现出问题的请求的classloader与正常的classloader不一致,原来是在tomcat服务器中设置了ROOT目录,可以不输入项目名称直接访...
spring boot使用外部资源文件,上传文件
静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户直接读取。 在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,从这里可以看出这里的静态资源路径都是在classpath中(也就是在项目路径下指...
eclipse中的Tomcat的默认路径与实际项目名不一致,导致404
默认的path可实际的项目名是SSM_HRMS5,URL是按照PATH访问项目的,所以把PATH改成SSM_HRMS5,404的问题就解决了。
springboot映射上传文件虚拟路径
@Configuration public class InterceptorConfig implements WebMvcConfigurer{ //配置虚拟映射路径 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/i...
SpringBoot文件(本地虚拟路径和远程ftp)上传
一、测试中图片上传到本地硬盘      1、配置本地文件上传虚拟路径(二种方式)       (1)方式一:yaml配置文件 server: port: 8081 #配置文件上传的虚拟路径 web: upload: img: C:/Users/wuchengfeng/Desktop/workplace/web/img/ spring: mvc: #访问图片、ht...
SpringBoot动态获取上传文件地址和附件上传
1 yml文件配置 com:   js:     localFilePath:       D://jsStatic     staticFile:       /static 2 上传地址获取 /**      * 根据yml文件的配置,获取图片的存储路径      */     @Value("${com.js.localFilePath}")     String saveurl;  ...
springboot项目导成jar包部署至Linux,图片上传时保存至jar包外的目录问题的解决方案
最近项目的需要,用户在上传图片时需要将图片保存在服务器某个目录下,由于项目是导成jar包直接使用springboot内嵌的Tomcat部署的,没有war包那么方便可以直接上传至Tomcat的webapp目录下,所以我采用了另一种方式上传图片及访问图片。 项目环境: 1.springboot1.5.9(使用内嵌Tomcat8) 2.mysql5.6 ...
Spring Boot上传文件设置绝对路径和访问绝对路径下的静态资源
1、设置绝对路径 在spring boot项目打成jar包后,上传文件的路径会有问题,或者可以成功上传但是服务器上找不到上传成功的文件。这时候我们需要为上传文件设置绝对路径。 application.properties的配置 #静态资源对外暴露的访问路径 file.staticAccessPath=/api/file/** #文件上传目录(注意Linux和Windows上的目录结构不同) ...
linux和window下路径不兼容
在Java开发中涉及到一些文件路径问题,可能在Windows环境下不会出现任何问题。如果项目部署在linux环境下,可能会出现问题。 例如: Windows :“\” Linux : “/” 为了保证文件路径与平台无关,可以使用File.separator方法来代替斜杠。 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写: File file1 = new Fil...
web项目请求路径与项目名称不同
可以在下图位置,进行修改 也可以修改项目的路径下的.settings文件夹下的org.eclipse.wst.common.component的value属性 修改之后,需要重新将项目部署到容器中才会生效
UEditor自定义上传和读取文件路径
1.首先在jsp中覆盖UEidtor获取路径的方法  UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl; UE.Editor.prototype.getActionUrl = function(action) { if (action == 'uploadimage') {
SpringBoot文件夹上传
摘要本文将总结SpringBoot环境搭建,以及SpringMVC结合html5实现web上传文件夹,注意是整个文件夹所有文件的上传。SpringBoot环境搭建SpringBoot基于约定优于配置的原则,为我们准备好了构建Spring Web项目所需的依赖。所以我们只需搭建普通的eclipse maven项目,引入合适的pom.xml即可构建一个完整的Web项目。1.获取maven依赖Sprin...
相对路径失效,在SpringBoot 项目里面怎么访问绝对地址的文件
  最近遇到了一个这样的问题,因为每次更新Springboot 版本项目到服务器上,用户上传的照片都会落在上个版本中的 tomcat-docbase 文件夹中。这样就不能用域名拼接相对路径的方式访问这些照片了,所以我想到了一个用相对路径映射绝对路径的方式来访问的方法。     不说了,贴代码:   @Configuration public class UploadFileConf...
SpringBoot 文件上传(可配置文件上传路径)
SpringBoot 文件上传(可配置文件上传路径) 1. 在application.yml中配置文件上传路径 ,上传文件大小 application: #版本 version: 1.0.0 #文件上传路径 profile: D:/profile/ spring: servlet: multipart: max-file-size: 30MB max-req...
服务器路径和本地路径在使用cd时候的区别
FileNotFoundError: [Errno 2] No such file or directory: 'Users/apple/Documents/ST/python/python_program/CNN_RNN_text_classification/cnews/cnews.train.txt' base_dir = '/Users/apple/Documents/ST/python...
spring boot 图片上传后的图片读取路径在win与linux环境配置的差别
win @Component class WebConfigurer extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/files/
spring boot的文件上传并在数据库中保存路径
在进行开发时,难免会遇到需要上传文件的,如图片音频等到服务器。以下我将会介绍如何上传文件到spring boot中。 过程如下:我们在数据库中建立一张表用来存储路径 ,通过repository获得对数据库的操作方法,在service层完成文件的加载写入,以及保存数据库。 1.我们先建立一个工程:以下先建立一个叫FileUpload的工程,选择对应的依赖。即可创建工程。 工程创建完成后,在目录...
spring boot项目打成jar包后,classespath路径获取错误
1、读取properties [code="java"] //props.load(new FileInputStream(ClassUtils.getDefaultClassLoader().getResource("").getPath() + File.separator + "email.properties")); props.load(EmailService.cla...
File文件上传使用虚拟路径详细过程
最近做项目用到文件上传功能用 的是tomcat6以上版本(tomcat6不支持我的jre版本所以没有用).使用该路径:String directoryRealPath =servlet.getServletContext().getRealPath(“/WEB-INF/Files”);时可以把文件上传,但是路径是在服务器webapp下的项目里,每次clean/redeploy或重启服务器时都会把上传的文件清除
SpringBoot + docker 遇到图片上传路径获取不到的问题
最近在做项目时需要做一个图片上传功能。本以为自信满满手到擒来,没料到用docker发布springboot项目里有坑 首先服务器是linux。 图片的路径是 /data/resource/family 丢了张图片进去,访问链接,可以打开OK。 然后写java代码传图片,大概是这样的。 public static boolean upload(MultipartFile file, S...
SpringBoot怎么获取到上传到Linux服务器(非项目内)的图片
问题介绍: 到我们把SpringBoot项目打包到Linux服务器上,文件的上传和上传的文件的下载路径及其获取就是一个比较棘手的问题。通俗一点就是解决像下面demo.jar中访问到110.png图片的文件,比如在页面显示啊 (图片很重要,图片很重要,图片很重要) 解决问题思路: 如果你用过kaptcha验证码插件,那你就应该猜到我的思路了,用流的方式请求URL返回到前端,而不能用   ...
spring-boot上传文件最佳解决办法
个人技术网站欢迎关注 很多人使用springboot上传文件的时候最烦的就是上传路径的问题 下面的方法最便捷 最易懂 在配置文件中配置如下 xcloud: #uploadPath: D:/var/uploaded_files/ uploadPath: C:/Users/renke/apache-tomcat-8.5.24/upload/ media: save...
绝对路径与相对路径在上传文件中的对比
相对路径与绝对路径在上传文件中的对比 System.out.println("文件:" + imgFile); System.out.println("文件名:" + imgFileFileName); System.out.println("文件类型:" + imgFileContentType); 文件:D:\JavaEE\workspace_maven\bos2.0\bos_mana
springboot打成jar后无法读取根路径和文件
ClassLoader.getSystemResourceAsStream(authenticationFileName) PropertiesUtils.class.getClass().getResourceAsStream("/authentication.properties") 未打包时都可以获取到根路径和文件,打包后报java.lang.NullPointerException...
springboot上传文件到指定文件夹
application.yml配置文件中添加        ​​​​​​​ controller层代码编写        ​​​​​​​ 前端用form-data方式         
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java学习路径和书单 web渗透文件上传教程