关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、418799587 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 13749|回复: 0

jeecg 中文件上传问题

[复制链接]
发表于 2013-9-16 22:52:49 | 显示全部楼层 |阅读模式
本帖最后由 jueyue 于 2013-9-16 23:02 编辑

首先我先介绍下问题:
可能很多朋友都发现,根据jeecg  demo中上传文件,在IE下没有问题,但是在firefox或者chrome就没有办法了,但是demo却可以
         解决这个问题,我们要先接触下flash在各个浏览器下的使用,ieflash是在ie受控下使用的,所以可以和ie共享session,firefoxchromeflash都是重new一个session这造成sessionID是新的,jeecg中认证 213.png
file:///C:/Users/jueyue/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
发现sessionsessionInfo没有,这样firfoxchrome就无法完成上传了
其实jeecg中为了上传问题作了两个方式:
第一种就是这个excludeUrls 排除在外的
spring-mvc.xml中有这个excludeUrls 配置
12313.png


file:///C:/Users/jueyue/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg

第二个是一劳永逸的方法使用jsessionid sessionId强制设置为浏览器原来的
,但是这个玩意好像被spring屏蔽了,查了google 没有找到解决办法,所以这个基本上就告别了,但是我们还是可以有更好的解决方法
1.      这个实现比较简单,和excludeUrls类似增加这个参数excludeMenthods即使用上传的方法
这样比较容易配置,比如saveImage,saveFile等配置几个就可以搞定了,不用没有url都写一次,比这jeecg的就很容易实现了,这个也是我的实现方法,统一命名,而且只允许post
2.      这个还是使用jsessionid来实现,不过session.getSessionContext().getSession(sessionId);
这个方法已经被java干掉了,所以我们只能自己写一个SessionManager了,
http://jxdiamond.iteye.com/blog/1701733   这个写了,到处都有我就不写了

但是要在jsp页面中添加
<input id='sessionUID' value='<%=session.getId()%>'type="hidden"/>
这样才会加入到url中,这个可以看UploadTag源码


这个是ff的分析
[url=http://pan.baidu.com/share/link? ... 0&uk=2936138743]百度盘[/url]



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表