当前位置: 首页 > 编程笔记 >

详解Java读取本地文件并显示在JSP文件中

蒋星驰
2023-03-14
本文向大家介绍详解Java读取本地文件并显示在JSP文件中,包括了详解Java读取本地文件并显示在JSP文件中的使用技巧和注意事项,需要的朋友参考一下

详解Java读取本地文件并显示在JSP文件中

       当我们初学IMG标签时,我们知道通过设置img标签的src属性,能够在页面中显示想要展示的图片。其中src的值,可以是磁盘目录上的绝对,也可以是项目下的相对路径,还可以是网络上的图片路径。在存取少量图片的情况下,采用相对路径存储图片的情况下最方便,也最实用。但是当图片数量过多时,这种方式就显的有些掣肘了。

    当系统的图片数量过多时,如果仍把这些图片当做项目的一部分去发布,势必会大大延长项目的发布时间及更新时间。对于某些对于时限性要求特别高的系统来说,采用相对路径存储图片就是不可取的。特别是系统发布补丁时,只能采用增量的方式去更新系统。如果采用覆盖的方式发布系统,就可能会造成系统图片文件的丢失。

    基于以上种种原因,很多系统会把大量的图片存在服务器的固定目录下,这样搭建集群环境时,就能访问公共的资源,避免对硬盘空间的浪费,但是问题也就在这里出现了。我们发布好的系统访问磁盘上的固定目录下的图片时,出现了没有权限访问的提示。系统为了保证本地安全,不允许直接访问图片。

    咋一看,上面的问题有的不可思议。但仔细想想,系统这么做,也确实有道理的。在服务器上,部署了很多个系统应用。不可能有一个系统的访问权限,就可以随随便便的访问磁盘上的文件。事实上,服务器上的系统是有权限读取其它磁盘路径下的文件,只是没有办法让它显示而已。

    要解决上面的问题,我们可以使用流的方式把图片读取出来,然后再输出显示到HTML页面中。

具体的代码见下面:   

<img name="person.personImg" id="personImg" alt="头像照片" src="${person.personImg}" style="width:160px;height:160px;border:1px solid" /> 
<button id="btnImg" class="btn btn-primary" type="button" title="上传图片" onclick="uploadPersonPic()">上传图片</button> 
 
<script> 
  $(function() { 
    //读取头像照片 
    if($("#oid").val()!=="") 
    { 
      $("#personImg").attr("src","favccxx/person/loadUserPhoto?externalPerson.oid="+$("#oid").val()+"&Time="+(new Date().getTime())); 
      $("#personImg").css("display",""); 
      $("#btnImg").css("display",""); 
    }else{ 
      $("#personImg").css("display","none"); 
      $("#btnImg").css("display","none");      
    } 
  } 
</script> 

Java代码:

@Action(value = "loadUserPhoto", results = { @Result(name = "success", type = "stream", params = { 
      "contentType", "image/jpeg", "inputName", "imageStream" }) }) 
  public String getImage() { 
    if (person.getOid() != null) { 
      // 设置图片 
      try { 
        Person person = personService.findOne("oid", externalPerson.getOid()); 
        FileInputStream is = new FileInputStream(person.getPersonImg()); 
        imageStream = new BufferedInputStream(new FileInputStream(person.getPersonImg())); 
      } catch (Exception e) { 
      } 
    } 
    return SUCCESS; 
  } 

以上就是java 读取本地文件并显示的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 我对JavaFX和JavaFX Scene Builder是新手,几个星期以来一直在研究并试图弄清楚如何简单地从文本文件中读取并在文本中显示其内容。我的controller类中有一个很好的文件读取功能,但我不知道如何将文本文件显示到fxml文档中的文本区域。我已经学会了如何单击按钮并使文件显示在文本区域中,但我希望GUI加载后立即在文本区域中显示内容。如果任何人有一个想法如何去做这件事,你的帮助将

  • 本文向大家介绍java 读取本地文件实例详解,包括了java 读取本地文件实例详解的使用技巧和注意事项,需要的朋友参考一下 java 读取本地文件实例详解 用javax.xml、w3c解析 实例代码: 用dom4j解析 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 请帮助我,因为我是java脚本的新手。我想显示一个文本文件的数据,它在“D:\vikas.txt”路径到一个文本框。如果有人能提供我一个完整的代码,这将是非常有帮助的。我使用的是谷歌chrome浏览器。如果你需要任何其他信息,请告诉我。 谢谢

  • 本文向大家介绍Python vtk读取并显示dicom文件示例,包括了Python vtk读取并显示dicom文件示例的使用技巧和注意事项,需要的朋友参考一下 因为做项目的原因,所以接触到了医学图像dicom文件。vtk刚开始看,这里仅仅只是其最简单的读取显示功能。此处用到了vtk库,可自行百度安装方法。 下面附上代码: 运行程序得到显示图: DICOM图像显示是可以设置窗宽、窗位的,还在学习尝试

  • 问题内容: 如何使用JQuery.getJSON()读取当前目录中的文件? 我正在尝试一些简单的操作(将data.json文件与html文件放在同一目录中): 我得到错误: XMLHttpRequest无法加载file:/// C:/Projects/test/data.json。Access-Control-Allow- Origin不允许使用Origin null。 我尝试了各种路径组合,但似

  • 我有3个csv文件,如下所示: 作者文件的列:emailID | firstname | lastname 我需要展示: 根据ISBN显示所有书籍和杂志 我现在使用的是: 我对如何处理多个文件感到困惑。以下是我考虑过的办法: > 到String数组 然后每次将每个索引传递给返回所有行但被DS卡住的方法。我认为不够,因为我需要分离的数据。 我应该使用2D数组吗? 我需要在DS中读取和存储数据以实现目