我创建一个项目,其中用户可以上传自己的照片。 这张照片被保存在文件夹“图像/上传/文件名”。 当创建他的个人资料和照片是要显示,我使用<img>
标签与src
为“图像/上传/文件名”,但照片显示不出来。 如果我手动照片复制到一个相邻的文件夹“图像/ ABC /文件名”,然后用它作为源,然后它工作。
这是怎么造成的,我该怎么解决呢? 我需要使用相同的文件夹,上传和下载照片。
我创建一个项目,其中用户可以上传自己的照片。 这张照片被保存在文件夹“图像/上传/文件名”。 当创建他的个人资料和照片是要显示,我使用<img>
标签与src
为“图像/上传/文件名”,但照片显示不出来。 如果我手动照片复制到一个相邻的文件夹“图像/ ABC /文件名”,然后用它作为源,然后它工作。
这是怎么造成的,我该怎么解决呢? 我需要使用相同的文件夹,上传和下载照片。
可如果你正在运行在Web应用中一个IDE项目,并存储在IDE的项目空间中上传的图片出现。 在IDE的项目文件夹被(由你的servlet代码)外部进行更改不会立即得到体现在部署服务器的工作文件夹中。 只有当你触摸它(通过刷新项目)或通过复制(如你碰巧发现了),那么它会得到体现。
毕竟,存储在webapp的部署文件夹上传的文件是一个坏主意。 这些文件将得到每当你重新部署web应用程序,仅仅是因为这些文件不包含在原始WAR文件全部丢失。
你需要给他们的web应用程序的部署文件夹之外的某处存储就像一个不同的固定路径上/var/webapp/uploads
。 你不应该使用相对路径或getRealPath()
创建的File
在其周围的对象。 只需使用一个固定的路径。 您随时可以在一定路径configureable作为上下文PARAM设置,VM参数,属性文件设置,甚至一个JNDI条目。
然后,它起到了万维网,只需添加正是路径作为另一个文档根目录服务器配置。 目前还不清楚你所使用的服务器,但在Tomcat中增加了另一个的问题<Context>
在server.xml
。
请确保您有正确的路径和包括图像扩展
只是用于测试,把你的img标签的index.php文件内
<img src="images/abc/filename.jpg">
/root/index.php
现在把你的图像到您的ABC /文件夹
/root/images/abc/filename.jpg
这应该显示的图像。
如果你有你的另一个文件夹中img标签中像下面的根
/root/user/index.php
现在,当你使用img标签使用此路径(相链接):
<img src="../images/abc/filename.jpg">
注意映像路径的开始“../”这是用来回到根。
如果持有该img标签的PHP或HTML文件,甚至更深,只记得深加../每一个级别,2个文件夹是对子级:
<img src="../../images/abc/filename.jpg">
问题是相当含糊所以希望这是你在找什么。
让我知道,如果这是错误的,解释一下,我会尽力帮助:)