uploadify是一款上传文件的flash小组件,在flash盛行的年代用得比较多,来实现异步上传功能,不过,现在已经逐步被h5代替了,如果还有在使用的建议换成h5方式,避免出现文本所遇到的问题。
- 问题是什么?
登录,上传完文件后,需要重新登录。
- 导致问题原因是什么?
uploadify是一款flash插件,因浏览器的安全限制,读不到cookie,导致会话丢失。
- 如何解决?
知道问题的的原因,解决的办法也就比较明确了,就是保持cookie跟踪不变。
下面是php的解决方案,其他语言类似。
- php.ini要修改
session.use_only_cookies = 0
注意:这点修改会有安全上的问题,允许session id通过url传递,容易被拦截及构造,非必要不建议开启。
- 修改上传文件的html代码
'formData':{'<?php echo session_name();?>' : '<?php echo session_id();?>'}
或在上传文件接口url后加参数
'uploader':'process_upload.php?<?php echo session_name();?>=<?php echo session_id();?>'
- 服务端修改代码
process_upload.php
$session_id = $_REQUEST[session_name()];
session_id($session_id);
session_start();
完。