uploadify上傳用的是一個flash插件,flash中有個bug就是自身建立一個session,這樣就致使與web自己的session不一致 權限驗證失敗的問題。web
由於uploadify是不會自動傳送session值的,因此當session被攔截後,它的請求是發不出去的(補充,還有一種狀況就是uploaddify是使用flash來處理文件文件上傳,而在在非IE瀏覽器(Firefox,Chrome)下使用flash方式向服務器發起請求,是會新生成一個session的(此時舊的session則丟失了),若是要避免這個問題,須要把當前的sessionId做爲形參傳給處理類);瀏覽器
$("#image").uploadify({ swf: 'uploadify/uploadify.swf',// 上傳使用的 Flash uploader: 'upload;jsessionid=${pageContext.session.id}?type=1', // 服務器端處理地址 width: 60, // 按鈕的寬度 height: 23, // 按鈕的高度 buttonText: "選擇圖片", // 按鈕上的文字 buttonCursor: 'pointer', // 按鈕的鼠標圖標 fileObjName: 'Filedata', // 上傳參數名稱 // 兩個配套使用 fileTypeExts: "*.jpg;*.png;*.bmp;*.jpeg;*.gif", // 擴展名 fileTypeDesc: "請選擇文件", // 文件說明 auto: true, // 選擇以後,自動開始上傳 multi: false, // 是否支持同時上傳多個文件 debug: true, fileSizeLimit: 2*1024, removeCompleted: false, //是否移除掉隊列中已經完成上傳的文件。false爲不移除 queueSizeLimit: 1, // 容許多文件上傳的時候,同時上傳文件的個數 /* onUploadSuccess : function(data){ //alert(data); } */ });
注意:jsessionid前面用';' 不是'?'服務器