如何使用JSTL标记在JSP中检索和呈现上传的图像?

时间:2014-10-30 16:30:16

标签: html servlets jstl

目前我正在从eclipse运行应用程序并在该位置上传了一个图像文件,我将其作为请求属性传递给JSP用户页面。

问题(或)问题

  1. 但是当我尝试使用下面的文件URL访问该文件时,图像无法渲染?
  2. 如果在服务器中部署了如何使用URL访问文件?
  3. 在Linux服务器中的tomcat中部署war之前,是否需要对访问文件位置进行任何更改?
  4. 谢谢。

    xml context

     <context-param>
     <param-name> tempfile.dir </param-name>
     <param-value> tmp_files </param-value>
     </context-param>
    

    文件位置

        F:\Techie\Servers_Apache\apache-tomcat-7.0.55\tmp_files\user_profile_pic.jpg
    

    servlet

        request.setAttribute("user_profile_pic", uploadedImagePath);
    

    home.jsp中的HTML标记

        <img src= "${user_profile_pic}" alt="Mountain View" style="width:304px;height:228px">
    

1 个答案:

答案 0 :(得分:1)

1)首先将文件上传/写入服务器中的某个位置,该位置可公开访问,如ROOT或ROOT内的某个文件夹。

2)正如你写的那样“但当我尝试使用下面的文件URL访问文件时,图像无法渲染?”,因为它是一个文件URL,但浏览器只能理解http URL,所以它应该是http URL,比如http://localhost:8080/tmp_files/user_profile_pic.jpg等。

3)您可以在代码中创建属性或常量文件,并创建类似URL和PATH的变量,分别设置http URL和文件上载路径。通过这种方式,您可以在Linux服务器中的tomcat中部署war之前设置/更改值。