困扰几天的图片显示问题今天解决了,中间走过了许多坑,下面一点点说:
需求:一个简单的意见反馈功能,要求有图片展示,一条记录可最多上传5张图片,前端用的是安卓,后端提供service,并展示在页面。
分析:
1、与安卓前端交互的是一个service的war包,请求通过封装,只能使用json格式传数据;
2、页面展示的是在另外一个web的war包上,有一点好处是两个war包会部署在同一个服务器上;
3、本地开发使用windows+tomcat,服务器使用jboss部署在linux环境下;
4、因为考虑到图片未来的增长量,不能直接存入数据库(每张图片压缩过后200k,对数据库的压力蛮大);
5、服务器上因为权限问题,存入的文件通过web直接访问路径是无法加载的;
6、前端使用extJS,对extjs加载图片的使用不熟悉;
解决方案:
1、使用解析json格式包文,使用 List<byte[]>
直接保存多张图片的byte数组数据;
2、考虑到服务器和war包的因素,在服务器上war包部署的根目录创建文件夹,并对访问war包的用户赋予读写权限;创建的文件夹在代码里使用绝对路径访问 (/opt/attach/dlv/images )
3、解析的byte数组直接保存在第二步创建的文件夹中,重新生成文件名,数据库保留文件名记录;
4、页面访问图片时,直接以流的形式加载上一步保存的图片,然后使用输出流的方式显示在前
本文发布于:2024-02-03 05:09:20,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170690816248860.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |