网上找的 dwz 配置如下,但上传excel是,出现404,文件没有自动上传。
$(function(){
//初始化uploadify 用于word上传
$("#doc_upload").uploadify({
'swf' : '/js/uploadify/scripts/uploadify.swf',//上传的flash文件,必用
'uploader' : '/region/upload;guid='+new Date().getTime(),//上传的请求URL
//'script' : '/upload.action',
'method' : "post",//请求方式
'displayData' : 'speed',//进度条的显示方式
'fileObjName' : 'file',//与后台Action中file属性一样
'formData' : {
'folder' : '/upload/soft'
},//附带值,参数
'queueID' : 'doc_pb',//进度条ID
'auto' : true,//自动上传
'multi' : false,//是否为多文件上传
'buttonText' : " 浏 览 ",
'uploadLimit' : 1,//一次可以上传多少个文件
'fileSizeLimit' : '30000KB',//单个文件上传最大值
'queueSizeLimit' : 1,//最多上传个数
'successTimeout' : 99999,//上传超时时间
'fileTypeDesc' : 'excel',//提示上传格式
'fileTypeExts' : '*.xlsx;*.xls',//限制上传文件格式,多个用分号隔开
'rollover' : true,
'removeCompleted' : false,//上传完成后是否自动隐藏进度条
//'debug' : true,
progressData : "percentage",//显示上传的百分比
//上传到服务器,服务器返回相应信息到data里
onUploadSuccess : function(file,//每个文件上传完成后都会调用一次,其中data为,相应信息,file为上传文件信息,response只有两个值true or false
data, response) {
$("#filename").val(file.name);
},
//选择文件时出错
onSelectError : function(file,
errorCode, errorMsg) {
alert(errorMsg);
},
onError : function(errorObj) {
alert(errorObj.info
+ " "
+ errorObj.type);
}
});
});
function navTabAjaxDone(json){
//DWZ.ajaxDone(json);
if (json.statusCode == DWZ.statusCode.ok){
if ("queryData"){ //把指定navTab页面标记为需要“重新载入”。注意navTabId不能是当前navTab页面的
navTab.reloadFlag("lastestVersion");
} else { //重新载入当前navTab页面
navTabPageBreak();
}
if ("closeCurrent" == json.callbackType) {
setTimeout(function(){navTab.closeCurrentTab();}, 100);
} else if ("forward" == json.callbackType) {
navTab.reload(json.forwardUrl);
}
}
}
2. 查找原因:
SWFUpload
,这个是Uploadify调用供支持Flash上传用的,但是其没有对button_image_url
进行判断,导致如果button_image_url
为空的话就默认请求了当前根路径,修改的方法也比较简单,加个判断即可:
修改jquery.uploadify.js 中
将下面代码:
this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url); |
修改成如下:
if (this.settings.button_image_url != "") { this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url); } |