需求:在进行填报时需要选择服务器图片,填入报表中,并能展示下载等

如:

 

面临问题:

1、润乾没提供浏览图片选择功能,只提供了本地上传。

润乾上传图片机制:

1、前端采用easyui 样式,选择图片

2、上传备份到临时目录: raqsoftConfig.xml -  <property name="inputCachePath" value="cache/input" /> 配置存放路径

3、在提交时将文件和文件名持久化到数据库。文件存储类型注意下(sqlserver:image,mysql:mediumblob 等),别错了。

解决思路

1、在文件上传下载的菜单处添加一个浏览按钮。

  通过跟踪源码,这个菜单是java代码写死的,并不能灵活配置,从而采用了jquery 硬编码进去。

  $(document).ready(function () {
console.log($(".easyui-menu").children());
$(".easyui-menu").prepend("<div id=\"sg18_review\" onclick='showDialog()' data-options=\"name:'up',iconCls:'icon-search'\" class=\"menu-item\" style=\"height: 20px;\"><div class=\"menu-text\" style=\"height: 20px; line-height: 20px;\">预览</div><div class=\"menu-icon icon-search\"></div></div>");
});

2、按钮弹框,润乾采用的easyui dialog 弹窗还是比较方便。

3、本想直接使用服务器图片(通过地址获取展示,效果可以实现但和润乾隔离,一刷新就没了,这是由于润乾获取图片机制导致)此路不同。

3、突发奇想,完全模拟润乾图片文件上传(当然不是真正的,只是服务器拷贝),润乾文件上传接口:com.raqsoft.input.view.InputServlet?action=12 表示上传 返回的是

模拟:

 

4、然后调用了一个上传成功的js,达到回写值的目的(这地方遇到一个坑,它采用xpath标识修改的td,强行调用始终说没有初始化,通过在所有js方法上打断点找到了初始化方法:)简直多此一举。

页面回写值:

 

至此完美实现润乾填报表服务器图片选择,希望对大家有所帮助

 

posted on 2018-08-13 17:06  kunsy  阅读(192)  评论(0编辑  收藏  举报