【问题标题】:How to download images from the same folder as where the image is uploaded?如何从与上传图像的文件夹相同的文件夹下载图像?
【发布时间】:2012-05-13 07:29:08
【问题描述】:

我正在创建一个项目,用户可以在其中上传他的照片。这张照片存储在“images/uploads/filename”文件夹中。创建他的个人资料并显示照片时,我使用<img> 标签和src 作为“图像/上传/文件名”,但照片没有显示。 如果我手动将照片复制到相邻的文件夹“images/abc/filename”,然后将其用作源,那么它可以工作。

这是如何引起的,我该如何解决?我需要使用同一个文件夹来上传和下载照片。

【问题讨论】:

    标签: image jsp servlets file-upload download


    【解决方案1】:

    如果您将 web 应用程序作为 IDE 项目运行并将上传的图像存储在 IDE 的项目空间中,则可能会发生这种情况。在 IDE 的项目文件夹中进行的外部更改(如通过您的 servlet 代码)不会立即反映在已部署服务器的工作文件夹中。只有当您触摸它(通过刷新项目)或通过复制它(正如您碰巧发现的那样)时,它才会被反映。

    毕竟,将上传的文件存储在 webapp 的部署文件夹中是个坏主意。每当您重新部署 web 应用程序时,这些文件都会丢失,因为这些文件不包含在原始 WAR 文件中。

    您需要将它们存储在 webapp 的部署文件夹之外的某个不同的固定路径上,例如 /var/webapp/uploads。您不应使用相对路径或getRealPath() 在其周围创建File 对象。只需使用固定路径。您始终可以将固定路径配置为上下文参数设置、VM 参数、属性文件设置甚至 JNDI 条目。

    然后,要将其提供给万维网,只需将该路径作为另一个 docroot 添加到服务器配置中。目前尚不清楚您使用的是什么服务器,但在 Tomcat 中,只需在 server.xml 中添加另一个 <Context>

    另见:

    【讨论】:

      【解决方案2】:

      确保您的路径正确并包含图片扩展名

      只是为了测试,把你的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">
      


      问题很模糊,所以希望这就是你要找的。​​p>

      让我知道,如果这是错误的,请多解释一下,我会尽力提供帮助:)

      【讨论】:

      • 我尝试过你提到的测试 [code] 但结果是一样的。我正在使用jsp,我从数据库中的字符串变量中获取图像的src。 string src = "image/abc/filename.jpg" ['code']" /> 这是可行的,但是 string src = "image/uploads/filename.jpg" ['code ']" /> 不起作用问题似乎与上传文件夹有关。是因为我使用同一个文件夹来存储用户上传的图片吗??
      • 您是否已将您的上传文件夹设为可写 0777 ?同样在您的上传脚本中,您如何处理文件夹创建和将图像上传到特定文件夹...您可以显示您的代码块
      猜你喜欢
      • 1970-01-01
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多