上传文件的问题 及解决方法

最近在做个文件上传,最开始用Flash的一个上传组件,Flash 上传 在IE下是正常的,FireFox、Chrome 下有问题,IE 下Flash和文档本身是同一个连接,FireFox、Chrome下Flash是另一个连接,所以和文档本身不属于同一个Session,问题就来了。

一种解决办法是,js 把Cookie里 JSESSIONID 取出来,设置到Flash里的一个参数里,然后上传的时候把这个JSESSIONID 传到后台,后台取出来(注意:因为是上传,不能用request.getParameter,得从流里取),重新获取Session,这种方式 J2EE 新 api 把取Session的方法屏蔽了,有其他方法取,没仔细研究,呵呵。

我用的是另一种解决办法,用的 jquery 的 ajaxfileupload 插件,看源码后发现只能上传单一个文件,如果Form里有其他的,则不能使用,又把这个组件改造了一下,这中间又遇到问题,file 的value不支持 setValue ,这种 在火狐下可以,Chrome和IE不可以,比着原来的方法,有点不明白 他的 为什么那样做,又仔细看看,原来他原先的选择的那个file组件,和生成的file的换位置了。经调试 JS 验证正确!


有时候,在火狐下,设contentType怎么都不行,火狐下一直多一个div,找了好大劲,火狐下有个插件 魔镜,会自动在页面里加一个div,把火狐下的 魔镜 禁用就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值