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();
完。