解決swfupload上傳文件session失效

使用flash插件上傳,多是不少人選擇的方式,可是隨之而來的session丟失問題也着實讓人頭疼javascript

swfupload代碼以下:php

<script type="text/javascript" src="<?php echo base_url();?>/static/js/swfupload/swfupload/swfupload.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>/static/js/swfupload/js/swfupload.queue.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>/static/js/swfupload/js/fileprogress.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>/static/js/swfupload/js/handlers.js"></script>
<script type="text/javascript">
		var swfu;
		var settings = {} ;
		
		window.onload = function() {
			 settings = {
				flash_url : "<?php echo base_url() ;?>/static/js/swfupload/swfupload/swfupload.swf",
				upload_url: "<?php echo site_url('admin/file_manager/file/upload_file') ;?>?inajax=1",
				post_params: {"session":"<?php echo session_id() ;?>"},
				file_size_limit : "1000 MB",
				file_types : "*.*",
				file_types_description : "All Files",
				file_upload_limit : 100,
				file_queue_limit : 0,
				custom_settings : {
				progressTarget : "fsUploadProgress",
					cancelButtonId : "btnCancel"
				},
				debug: true,

				// Button settings
				//button_image_url: "/js/swfupload/images/TestImageNoText_65x29.png",
				button_image_url:'<?php echo base_url() ;?>/static/js/swfupload/images/bg.png',
				button_width: "63",
				button_height: "20",
				button_placeholder_id: "spanButtonPlaceHolder",
				button_text: '<a class="theFont">批量上傳</a>',
				button_text_style: ".theFont{ font-size: 12; color:black ; cursor:pointer;text-align:center}",
				button_text_left_padding: 0,
				button_text_top_padding: 0,
				
				// The event handler functions are defined in handlers.js
				file_queued_handler : fileQueued,
				file_queue_error_handler : fileQueueError,
				file_dialog_complete_handler : fileDialogComplete,
				upload_start_handler : uploadStart,
				upload_progress_handler : uploadProgress,
				upload_error_handler : uploadError,
				upload_success_handler : success_data,
				upload_complete_handler : uploadComplete,
				queue_complete_handler : queueComplete	// Queue plugin event
			};

			swfu = new SWFUpload(settings);
	     };
		 
		 function uploadComplete(){
			//alert(3);
		 }
		 function uploadStart(){
			
			 swfu.addPostParam("SubPath",path);
			 
		 }
		 function success_data(file, serverData) {
				alert(serverData);
				
		}
		
		
	</script>

上面的我在post後面加了個參數session=<?php echo sessionid(); ?>java

在php端ajax

if(!empty($_POST['session']) && isset($_POST['session'])){
			@session_id($_POST['session']);
		}
@ob_clean() ;
@session_start();

l另外還有個問題,他的傳遞參數是window.onload 可是我要獲得某個文本框的值,那就沒辦法了,因此我在後面加了一個函數session

function uploadStart(){}在post提交以前在後面追加參數便可
相關文章
相關標籤/搜索