?//火狐flash在上传的时候使用的是和浏览器不同的会话,这样就导致服务器在验证时自然被认为是新会话,从而验证不能通过,导致上传不能成功了。?解决方法,url后添加sessionId
? var sessionName="jsessionid";
? var sessionId ="${pageContext.session.id}";
?
window.onload = function() {
? ? settings = {
??? flash_url : "<%=path%>/swfuplod/swfupload.swf",? // 调用的上传的flash控件
??? upload_url: "",//?? 后台上传文件处理Action 注意:配置不正确的话,易导致404错误
???file_size_limit : "1024 kB",//? 所选文件的最大值
???file_types : "*.xls",//? 限定所上传文件的类型
???file_post_name : "Filedata",
???use_query_string : true,
???post_params : {
???},
???file_types_description : "All Files",
???file_upload_limit : 1,//? 设置所上传文件最大个数
???file_queue_limit : 1,//? 设置上传列表中的最大个数 0:不限制
???custom_settings : { //? 用户自定义设置
????progressTarget : "fsUploadProgress"???? //上传文件进度div id
???},
???debug : false,
???auto_upload : false,//? 设置自动上传为false
???// Button settings?? 按钮的设置
???button_image_url : "",
???button_width : "50",
???button_height : "21",
???button_cursor : SWFUpload.CURSOR.HAND,??? //选择文件按钮手型
???button_placeholder_id : "spanButtonPlaceHolder",
???button_text : '<span class="btn-txt">选择</span>',
???button_text_style : '.btn-txt{}',
???button_text_left_padding : 12,
???button_text_top_padding : 1,
???// The event handler functions are defined in handlers.js? 事件的处理函数定义在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 : uploadSuccess,
???upload_complete_handler : uploadComplete,
???queue_complete_handler : function() {
???}// Queue plugin event
??};
??swfu = new SWFUpload(settings);
??/* function uploadSuccess(data){
???? alert(data.name);
??} */
?};
//上传请求Action后返回处理,serverData是Action返回的值,通过jQuery.parseJSON(serverData);转化为json
?function uploadSuccess(file,serverData) {
??var progress = new FileProgress(file,this.customSettings.progressTarget);
??//progress.setComplete();
??progress.setStatus("上传完成");???? //设置上传文件进度情况,完成
??var jsonData = jQuery.parseJSON(serverData);
??var data = jsonData.result;
??if (data.code == "10000") {
???$.messager.alert("成功","上传成功!","info",function() {
????$.ajax({
?????type : "POST",
?????url : "",
?????data : {
??????
?????},
?????dataType : "json",
?????success : function(data) {
??????
?????}
????});
???}); ??} else { ???$.messager.alert("错误","上传失败!","error"); ??} ?}