Image 如何从上载图像的文件夹下载图像?
我正在创建一个项目,用户可以上传他的照片。此照片存储在文件夹“images/uploads/filename”中。当创建他的个人资料并显示照片时,我使用Image 如何从上载图像的文件夹下载图像?,image,jsp,servlets,file-upload,download,Image,Jsp,Servlets,File Upload,Download,我正在创建一个项目,用户可以上传他的照片。此照片存储在文件夹“images/uploads/filename”中。当创建他的个人资料并显示照片时,我使用作为“images/uploads/filename”,但照片不会显示。 如果我手动将照片复制到相邻的文件夹“images/abc/filename”中,然后将其用作源,那么它就工作了 这是如何造成的,我如何解决?我需要使用相同的文件夹上载和下载照片。确保您的文件夹路径正确,并且包含图像扩展名 为了进行测试,请将img标记放在index.php中
作为“images/uploads/filename”,但照片不会显示。
如果我手动将照片复制到相邻的文件夹“images/abc/filename”中,然后将其用作源,那么它就工作了
这是如何造成的,我如何解决?我需要使用相同的文件夹上载和下载照片。确保您的文件夹路径正确,并且包含图像扩展名
为了进行测试,请将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标记的php或html文件更深,只需记住为每个级别添加../两个文件夹深:
<img src="../../images/abc/filename.jpg">
这个问题很模糊,所以希望这就是你们要找的
让我知道,如果这是错误的,请再解释一点,我会尽力帮助:)如果您将webapp作为IDE项目运行,并将上载的图像存储在IDE的项目空间中,则可能会发生这种情况。IDE项目文件夹中由外部执行的更改(如servlet代码)不会立即反映在已部署服务器的工作文件夹中。只有当您触摸它(刷新项目)或复制它(正如您碰巧发现的那样),它才会被反射
毕竟,将上传的文件存储在webapp的deploy文件夹中是个坏主意。只要重新部署webapp,这些文件就会丢失,原因很简单,因为这些文件不包含在原始WAR文件中
您需要将它们存储在webapp的deploy文件夹之外的其他固定路径上,如/var/webapp/uploads
。您不应该使用相对路径或getRealPath()
在其周围创建文件
对象。只需使用固定路径。您始终可以将固定路径配置为上下文参数设置、VM参数、属性文件设置甚至JNDI条目
然后,为了将其服务于万维网,只需将该路径作为另一个docroot添加到服务器配置中。不清楚您使用的是哪台服务器,但在Tomcat中,只需将另一台
添加到server.xml
另见:
我尝试了你提到的[code]测试,但结果是一样的。我正在使用jsp,并从数据库中获取字符串变量中的图像的src。string src=“image/abc/filename.jpg”['code']“/>这是可行的,但string src=“image/uploads/filename.jpg”['code']“/>不可行。问题似乎出在uploads文件夹上。是不是因为我使用了与用户上传的图片相同的文件夹?你是否将上传文件夹设置为可写0777?同样在你的上传脚本中,你是如何处理文件夹创建和上传图片到特定文件夹的…你能显示你的代码块吗
<img src="../../images/abc/filename.jpg">