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

发布时间 - 2026-01-11 03:03:14    点击率:

详解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 读取本地文件并显示的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Java读取本地文件并显示在JSP文件中  # java  # 本地文件的读取并显示  # 图解如何在Spring Boot中使用JSP页面  # 在JSP页面内编写java代码方法总结  # 在JSP中使用formatNumber控制要显示的小数位数方法  # JSP的Cookie在登录中的使用  # 在JSP中如何实现MD5加密的方法  # jsp使用ECharts动态在地图上标识点  # 基于FlashPaper实现JSP在线阅读代码示例  # 上传图片  # 出现了  # 情况下  # 器上  # 发布时间  # 在这里  # 更新时间  # 不可能  # 目录下  # 还可以  # 是有  # 就能  # 也就  # 如有  # 希望能  # 然后再  # 可以使用  # 没有办法  # 当我们  # 这么做 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在Tomcat中配置并部署网站项目?  高防服务器如何保障网站安全无虞?  南京网站制作费用,南京远驱官方网站?  如何用IIS7快速搭建并优化网站站点?  Python自动化办公教程_ExcelWordPDF批量处理案例  高防服务器租用如何选择配置与防御等级?  Linux后台任务运行方法_nohup与&使用技巧【技巧】  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  Laravel如何使用Sanctum进行API认证?(SPA实战)  佛山网站制作系统,佛山企业变更地址网上办理步骤?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  Laravel中的withCount方法怎么高效统计关联模型数量  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  成都网站制作公司哪家好,四川省职工服务网是做什么用?  bootstrap日历插件datetimepicker使用方法  如何用狗爹虚拟主机快速搭建网站?  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  简历在线制作网站免费版,如何创建个人简历?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  长沙做网站要多少钱,长沙国安网络怎么样?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  高防服务器租用指南:配置选择与快速部署攻略  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  微信小程序 wx.uploadFile无法上传解决办法  如何在服务器上配置二级域名建站?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  高端建站三要素:定制模板、企业官网与响应式设计优化  Laravel观察者模式如何使用_Laravel Model Observer配置  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  如何在建站之星绑定自定义域名?  Android实现代码画虚线边框背景效果  实例解析Array和String方法  再谈Python中的字符串与字符编码(推荐)  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  微信小程序 require机制详解及实例代码  如何在自有机房高效搭建专业网站?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  昵图网官方站入口 昵图网素材图库官网入口  魔毅自助建站系统:模板定制与SEO优化一键生成指南  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  简单实现Android验证码  桂林网站制作公司有哪些,桂林马拉松怎么报名?  Laravel如何使用Gate和Policy进行授权?(权限控制)  如何实现javascript表单验证_正则表达式有哪些实用技巧  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法