(6) javaweb 文件下载 ie chrome正常 但是ff下载中文名称乱码 另附上传下载代码

 ------------------------------------------------------------------------------------------------------------------------------------------------


javaweb项目   文件下载 ie chrome正常 但是ff下载中文名称乱码  百度了下解决方案  测试可行。IE火狐和chrome测了三个


                //浏览器下载乱码 ie  chrome  ff  ---------start
	        String ua = request.getHeader("User-Agent");
	        if(ua != null){
	        	if(( ua.toLowerCase().indexOf("firefox") > 0) ||  ua.toLowerCase().indexOf("mozilla") > 0  ){
		        	//解决火狐浏览器下载文件名乱码问题 (20150619 new)
			        String userAgent = request.getHeader("User-Agent");  
			        byte[] bytes = userAgent.contains("MSIE") ? realname.getBytes() : realname.getBytes("UTF-8"); // name.getBytes("UTF-8")处理safari的乱码问题  
			        realname = new String(bytes, "ISO-8859-1"); // 各浏览器基本都支持ISO编码  
			        response.setHeader("Content-disposition", String.format("attachment; filename=\"%s\"", realname)); // 文件名外的双引号处理firefox的空格截断问题  
	            }else{
	            	         //设置响应头,控制浏览器下载该文件 ,仅此火狐下会出现下载文件中文乱码的问题   ,ie chrome正常
			         response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(realname, "UTF-8").replace("+", "%20")); 
	            }
	        }else{
		         response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(realname, "UTF-8").replace("+", "%20")); 
	        }
	        //浏览器下载乱码 ie  chrome  ff  ---------end
	        


 ------------------------------------------------------------------------------------------------------------------------------------------------


附文件上传下载代码:


/**
	 * 文件上传
	 */
	@RequestMapping(value = "/uploadFileExe.do", method = RequestMethod.POST)
	public void uploadFileExe(HttpServletRequest request, HttpServletResponse response) {
		
		String message = ""; // 消息提示
		try {
			// 得到上传文件的保存目录,将上传的文件存放于WEB-INF目录下,不允许外界直接访问,保证上传文件的安全
			V_USER vUser = (V_USER) request.getSession().getAttribute("user");
			String folderName = "companyId" + vUser.getCompanyId();
			String tempDirectory = PropertiesUtil.getStringValue("userLoan_file_upload_path");
			String savePath = tempDirectory +File.separator+folderName;

			// 判断上传文件的保存目录是否存在
			File file = new File(savePath);
			if (!file.exists() && !file.isDirectory()) {
				file.mkdirs();// 创建目录
			}
			
			// 1、创建一个DiskFileItemFactory工厂
			DiskFileItemFactory factory = new DiskFileItemFactory();
			// 2、创建一个文件上传解析器
			ServletFileUpload upload = new ServletFileUpload(factory);
			// 解决上传文件名的中文乱码
			upload.setHeaderEncoding("UTF-8");
			// 3、判断提交上来的数据是否是上传表单的数据
			if (!ServletFileUpload.isMultipartContent(request)) {
				response.setStatus(566);//566状态码 传递给前端 SWF组件  含义"系统异常,上传失败!"
				return;
			}
			// 4、使用ServletFileUpload解析器解析上传数据,解析结果返回的是一个List<FileItem>集合,每一个FileItem对应一个Form表单的输入项
			List<FileItem> list = upload.parseRequest(request);
			FileItem item = null; // 单文件上传,只取第一个item

			for (int i = 0 ;i < list.size(); i++){
				item = (FileItem) list.get(i);
				// 保存文件
				if (!item.isFormField() && item.getName()!=null&&!item.getName().endsWith(".tmp")) {
					item = list.get(i);
					break;
				}
			}
			
			Long size = item.getSize();
			String sizeStr = "";
			if(size<1024){
				sizeStr = size+"字节";
			}else if(size>=1024 && size<1048576){
				sizeStr = new DecimalFormat("#.00").format((double)size/1024) +"K";
			}else{
				sizeStr =  new DecimalFormat("#.00").format((double)size/1048576) +"M";
			}
			
			String filename = item.getName(); // 得到上传的文件名称,
			// 注意:不同的浏览器提交的文件名是不一样的,有些浏览器提交上来的文件名是带有路径的,如: c:\a\b\1.txt,而有些只是单纯的文件名,如:1.txt
			// 处理获取到的上传文件的文件名的路径部分,只保留文件名部分
			filename = filename.substring(filename.lastIndexOf("\\") + 1);
			
			if(filename.length()>30){
				response.setStatus(555);//555状态码 传递给前端 SWF组件  含义"文件名超长,上传失败!30个字符内!"
				return;
			}
			
			//文件重名校验:重名则不允许上传<业务代码>
			List<UserLoanUpFilePojo> list4Name = userLoadService.queryFileListByCompanyid( vUser.getCompanyId());
			boolean  dupNameflag = false; 
			if( list4Name!=null && !list4Name.isEmpty()){
				for (UserLoanUpFilePojo userLoanUpFilePojo : list4Name) {
					if(userLoanUpFilePojo.getFileName().equals(filename)){
						dupNameflag = true;break;
					}
				}
				if(dupNameflag){
					response.setStatus(599);//777状态码 传递给前端 SWF组件  含义"同名文件已存在,上传失败!"
					return;
				}
			}
			
			// 获取item中的上传文件的输入流
			InputStream in = item.getInputStream();
			// 创建一个文件输出流
			File f = new File(savePath + File.separator + filename);
			if (!f.exists()) {
				f.createNewFile();
			}
			FileOutputStream out = new FileOutputStream(f);
			// 创建一个缓冲区
			byte buffer[] = new byte[1024];
			// 判断输入流中的数据是否已经读完的标识
			int len = 0;
			// 循环将输入流读入到缓冲区当中,(len=in.read(buffer))>0就表示in里面还有数据
			while ((len = in.read(buffer)) > 0) {
				// 使用FileOutputStream输出流将缓冲区的数据写入到指定的目录中
				out.write(buffer, 0, len);
			}

			// 更新数据库记录
			UserLoanUpFilePojo userLoanUpFilePojo = new UserLoanUpFilePojo();
			userLoanUpFilePojo.setCompanyId(vUser.getCompanyId());
			userLoanUpFilePojo.setCompanyName(vUser.getCompany_name());
			userLoanUpFilePojo.setFileName(filename);
			userLoanUpFilePojo.setFileFlagUnique(String.valueOf(System .currentTimeMillis()));
			userLoanUpFilePojo.setFileSize(size);
			userLoanUpFilePojo.setFileSizeMk(sizeStr);
			userLoanUpFilePojo.setCreateDate(TimeUtils.getNowDate("yyyy-MM-dd HH:mm:ss"));
			userLoanUpFilePojo.setCreateUserId(vUser.getId());
			try {
				userLoadService.insertUserLoadUpfile(userLoanUpFilePojo);
			} catch (Exception e) {
				e.printStackTrace();
				response.setStatus(588);//588状态码 传递给前端 SWF组件  含义"保存文件数据失败,请重新上传!"
				return;
				
			}

			// 关闭输入流
			in.close();
			// 关闭输出流
			out.close();
			// 删除处理文件上传时生成的临时文件
			item.delete();
			message = filename + "上传成功!";
		} catch (Exception e) {
			logger.error("",e);
			e.printStackTrace();
			response.setStatus(566);//566状态码 传递给前端 SWF组件  含义"系统异常,上传失败!"
			return;
		}
		response.setStatus(200);

	}


/**
	 * 文件下载操作
	 */
	@RequestMapping(value = "/downuserLoanFile.do", method = RequestMethod.GET)
	public void downuserLoanFile(HttpServletRequest request, HttpServletResponse response) {
		
		 try {
			String fid = (String) request.getParameter("fid");
			UserLoanUpFilePojo userLoanUpFilePojo = userLoadService.queryFnByUniqueId(fid);
			String folderName = "companyId"+userLoanUpFilePojo.getCompanyId();
			String tempDirectory = PropertiesUtil.getStringValue("userLoan_file_upload_path");
			String savePath = tempDirectory+File.separator+folderName;
			String fileName = userLoanUpFilePojo.getFileName();
	        //上传的文件都是保存在/WEB-INF/upload目录下的子目录当中
	        File file = new File(savePath+File.separator+fileName);
	        //如果文件不存在
	        if(!file.exists()){
	            return;
	        }
	        //处理文件名
	        String realname = fileName.substring(fileName.indexOf("_")+1);
	        
	        System.out.println(URLEncoder.encode(realname, "UTF-8"));
	        
	        //浏览器下载乱码 ie  chrome  ff  ---------start
	        String ua = request.getHeader("User-Agent");
	        if(ua != null){
	        	if(( ua.toLowerCase().indexOf("firefox") > 0) ||  ua.toLowerCase().indexOf("mozilla") > 0  ){
		        	//解决火狐浏览器下载文件名乱码问题 (20150619 new)
			        String userAgent = request.getHeader("User-Agent");  
			        byte[] bytes = userAgent.contains("MSIE") ? realname.getBytes() : realname.getBytes("UTF-8"); // name.getBytes("UTF-8")处理safari的乱码问题  
			        realname = new String(bytes, "ISO-8859-1"); // 各浏览器基本都支持ISO编码  
			        response.setHeader("Content-disposition", String.format("attachment; filename=\"%s\"", realname)); // 文件名外的双引号处理firefox的空格截断问题  
	            }else{
	            	//设置响应头,控制浏览器下载该文件 ,仅此火狐下会出现下载文件中文乱码的问题   ,ie chrome正常
			         response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(realname, "UTF-8").replace("+", "%20")); 
	            }
	        }else{
		         response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(realname, "UTF-8").replace("+", "%20")); 
	        }
	        //浏览器下载乱码 ie  chrome  ff  ---------end
	        
	        //读取要下载的文件,保存到文件输入流
	        FileInputStream in = new FileInputStream(file);
	        //创建输出流
	        OutputStream out = response.getOutputStream();
	        //创建缓冲区
	        byte buffer[] = new byte[1024];
	        int len = 0;
	        //循环将输入流中的内容读取到缓冲区当中
	        while((len=in.read(buffer))>0){
	            //输出缓冲区的内容到浏览器,实现文件下载
	            out.write(buffer, 0, len);
	        }
	        
	        out.flush();
	        //关闭文件输入流
	        in.close();
	        //关闭输出流
	        out.close();
        
		 } catch (Exception e) {
				logger.error("",e);
		 } 
     }	
	


  

前段页面SWFupload提交请求( 前端的人帮忙弄了一下改了header.js)

<form>
				<table border="0" cellspacing="0" cellpadding="3" style="margin-top: 100px">

					<tbody><tr>
						<td class="title">请选择上传文件</td>
					</tr>
					<tr>
						<td>
							<div class="position_r clearfix" id="flashBtn">
								<input type="text" class="inp fl" id="fileValue" style="color:#475477;" readonly="readonly">
								<div class="fl">
								<div class="flashBtn_trigger">
									<span id="spanButtonPlaceholder"></span>
								</div>
								</div>
							</div></td>
					</tr>
					<tr>
						<td class="alert">*目前支持的文件类型是.xls,.xlsx,.txt,.zip,.rar</td>
					</tr>
					<tr>
						<td class="">
							<span id="notifyInfo" ></span>
						</td>
					</tr>

				</tbody></table>
			</form>



<script type="text/javascript" src="<%=contextPath%>/js/swfupload/swfupload.js"></script>
	<script type="text/javascript" src="<%=contextPath%>/js/swfupload/handlers.js"></script>	
	<script type="text/javascript">
	
	var swfu;
	window.onload = function () {
		swfu = new SWFUpload({
			upload_url: "<%=contextPath%>/userLoanController/uploadFileExe.do;jsessionid=<%=request.getSession().getId()%>",
			post_params: {},
			button_image_url : "<%=contextPath%>/img/up_1.png",
			use_query_string:true,
			// File Upload Settings
			file_size_limit : "20 MB",	// 文件大小控制
			file_types : "*.txt;*.zip;*.xls;*.xlsx;*.zip;*.rar",
			file_types_description : "All Files",
			file_upload_limit : 0,  //配置上传个数
			file_queue_limit : 1,
							
			file_queue_error_handler : fileQueueError,
			file_dialog_complete_handler : fileDialogComplete,//选择好文件后提交
			file_queued_handler : fileQueued,
			upload_progress_handler : uploadProgress,
			upload_error_handler : uploadError,
			upload_success_handler : uploadSuccess,
			upload_complete_handler : uploadComplete,
			button_placeholder_id : "spanButtonPlaceholder",
			button_width: 96,
			button_height: 28,
			button_text : '',
			button_text_style : '.button { font-family: Helvetica, Arial, sans-serif; font-size: 12pt; } .buttonSmall { font-size: 10pt; }',
			button_text_top_padding: 0,
			button_text_left_padding: 18,
			button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
			button_cursor: SWFUpload.CURSOR.HAND,
			
			// Flash Settings
			flash_url : "<%=contextPath%>/js/swfupload/swfupload.swf",

			custom_settings : {
				upload_target : "divFileProgressContainer"
			},
			// Debug Settings
			debug: false  //是否显示调试窗口
		});
	};
	function startUploadFile(){
		swfu.startUpload();
	}
	
	/* $('#flashBtn').delegate('input','click',function(evt){
		$('#flashBtn object').trigger('click')
	}) */
	</script>


function fileQueueError(file, errorCode, message) {
	
	try {
		var imageName = "<font color='red'>文件上传错误</font>";
		var errorName = "";
		if (errorCode === SWFUpload.errorCode_QUEUE_LIMIT_EXCEEDED) {
			errorName = "You have attempted to queue too many files.";
		}

		if (errorName !== "") {
			//alert(errorName+"??");
			return;
		}
		
		switch (errorCode) {
	
		case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
			imageName = "<font color='#475477'>文件大小为0,上传失败!</font>";
			break;
		case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
			imageName = "<font color='#475477'>文件大小超过限制,上传失败!文件大小20M以内!</font>";
			break;
		case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
			imageName = "<font color='#475477'>文件格式不匹配,上传失败!</font>";
			break;
		
		case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
		default:
			//alert(message);
			break;
		}
		addReadyFileInfo(file.id,file.name,imageName,"无法上传");

	} catch (ex) {
		this.debug(ex);
	}
}

/**
 * 当文件选择对话框关闭消失时,如果选择的文件成功加入上传队列,
 * 那么针对每个成功加入的文件都会触发一次该事件(N个文件成功加入队列,就触发N次此事件)。
 * @param {} file
 * id : string,			    // SWFUpload控制的文件的id,通过指定该id可启动此文件的上传、退出上传等
 * index : number,			// 文件在选定文件队列(包括出错、退出、排队的文件)中的索引,getFile可使用此索引
 * name : string,			// 文件名,不包括文件的路径。
 * size : number,			// 文件字节数
 * type : string,			// 客户端操作系统设置的文件类型
 * creationdate : Date,		// 文件的创建时间
 * modificationdate : Date,	// 文件的最后修改时间
 * filestatus : number		// 文件的当前状态,对应的状态代码可查看SWFUpload.FILE_STATUS }
 */
function fileQueued(file){
	//console.log('fileQueued()');
	//addReadyFileInfo(file.id,file.name,"成功加载到上传队列");
}
function fileDialogComplete(numFilesSelected, numFilesQueued) {
	//console.log('fileDialogComplete()');
	try {
		if (numFilesQueued > 0) {
			//document.getElementById('btnCancel').disabled = "";
			this.startUpload();
		}
	} catch (ex) {
		this.debug(ex);
	}
}

function uploadProgress(file, bytesLoaded) {

	try {
		var percent = Math.ceil((bytesLoaded / file.size) * 100);

		var progress = new FileProgress(file,  this.customSettings.upload_target);
		progress.setProgress(percent);
		if (percent === 100) {
			progress.setStatus("");//正在创建缩略图...
			progress.toggleCancel(false, this);
		} else {
			progress.setStatus("正在上传...");
			progress.toggleCancel(true, this);
		}
	} catch (ex) {
		this.debug(ex);
	}
}


//单文件上传成功更改提示信息
function uploadSuccess(file, serverData) {
	
	document.getElementById("fileValue").value = file.name;
	var infoTable = document.getElementById("notifyInfo");
	
	var infoTable = document.getElementById("notifyInfo");
	infoTable.innerHTML = "上传成功!";
}

function addFileInfo(fileId,message){
	var infoTable = document.getElementById("notifyInfo");
	infoTable.innerHTML = message;
}
function addReadyFileInfo(fileid,fileName,message,status){
	
	//定制 -- 将生成的错误信息显示到指定的区域
	var infoTable = document.getElementById("notifyInfo");
	infoTable.innerHTML = message;
	
	
	/*//用表格显示
	var infoTable = document.getElementById("infoTable");
	var row = infoTable.insertRow();
	row.id = fileid;
	var col1 = row.insertCell();
	var col2 = row.insertCell();
	var col3 = row.insertCell();
	var col4 = row.insertCell();
	col4.align = "right";
	col1.innerHTML = message+" : ";
	col2.innerHTML = fileName;
	if(status!=null&&status!=""){
		col3.innerHTML="<font color='red'>"+status+"</font>";
	}else{
		col3.innerHTML="";
	}
	col4.innerHTML = "<a href='javascript:deleteFile(\""+fileid+"\")'>删除</a>";
	col1.style.width="150";
	col2.style.width="250";
	col3.style.width="80";
	col4.style.width="50";*/
}

function cancelUpload(){
	var infoTable = document.getElementById("infoTable");
	var rows = infoTable.rows;
	var ids = new Array();
	var row;
	if(rows==null){
		return false;
	}
	for(var i=0;i<rows.length;i++){
		ids[i] = rows[i].id;
	}	
	for(var i=0;i<ids.length;i++){
		deleteFile(ids[i]);
	}	
}

function deleteFile(fileId){
	//用表格显示
	var infoTable = document.getElementById("infoTable");
	var row = document.getElementById(fileId);
	infoTable.deleteRow(row.rowIndex);
	swfu.cancelUpload(fileId,false);
}

function uploadComplete(file) {
	//console.log('uploadComplete()')
	try {
		/*  I want the next upload to continue automatically so I'll call startUpload here */
		if (this.getStats().files_queued > 0) {
			this.startUpload();
		} else {
			var progress = new FileProgress(file,  this.customSettings.upload_target);
			progress.setComplete();
			progress.setStatus("<font color='red'>所有文件上传完毕!</b></font>");
			progress.toggleCancel(false);
		}
	} catch (ex) {
		this.debug(ex);
	}
}

function uploadError(file, errorCode, message) {
	var imageName =  "<font color='red'>文件上传出错!</font>";
	var progress;
	try {
		switch (errorCode) {
		case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
			try {
				progress = new FileProgress(file,  this.customSettings.upload_target);
				progress.setCancelled();
				progress.setStatus("<font color='red'>取消上传!</font>");
				progress.toggleCancel(false);
			}
			catch (ex1) {
				this.debug(ex1);
			}
			break;
		case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
			try {
				progress = new FileProgress(file,  this.customSettings.upload_target);
				progress.setCancelled();
				progress.setStatus("<font color='red'>停止上传!</font>");
				progress.toggleCancel(true);
			}
			catch (ex2) {
				this.debug(ex2);
			}
		case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
			imageName = "<font color='red'>文件大小超过限制!</font>";
			break;
		
		default:
			//alert(message);
			break;
		}
		
		if(message=="599"){
			var imageName =  "<font color='#475477'>同名文件已存在," +file.name+" 上传失败!</font>";
		}
		if(message=="588"){
			var imageName =  "<font color='#475477'>保存 "+file.name+"信息失败 ,请重新上传!</font>";
		}
		if(message=="566"){
			var imageName =  "<font color='#475477'>系统异常," +file.name+"上传失败,稍后重试!</font>";
		}if(message=="555"){
			var imageName =  "<font color='#475477'>文件名超长,上传失败!30个字符内!</font>";
		}
		
		addFileInfo(file.id,imageName);
	} catch (ex3) {
		this.debug(ex3);
	}

}


function addImage(src) {
	var newImg = document.createElement("img");
	newImg.style.margin = "5px";

	document.getElementById("thumbnails").appendChild(newImg);
	if (newImg.filters) {
		try {
			newImg.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 0;
		} catch (e) {
			// If it is not set initially, the browser will throw an error.  This will set it if it is not set yet.
			newImg.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + 0 + ')';
		}
	} else {
		newImg.style.opacity = 0;
	}

	newImg.onload = function () {
		fadeIn(newImg, 0);
	};
	newImg.src = src;
}

function fadeIn(element, opacity) {
	var reduceOpacityBy = 5;
	var rate = 30;	// 15 fps


	if (opacity < 100) {
		opacity += reduceOpacityBy;
		if (opacity > 100) {
			opacity = 100;
		}

		if (element.filters) {
			try {
				element.filters.item("DXImageTransform.Microsoft.Alpha").opacity = opacity;
			} catch (e) {
				// If it is not set initially, the browser will throw an error.  This will set it if it is not set yet.
				element.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')';
			}
		} else {
			element.style.opacity = opacity / 100;
		}
	}

	if (opacity < 100) {
		setTimeout(function () {
			fadeIn(element, opacity);
		}, rate);
	}
}



/* ******************************************
 *	FileProgress Object
 *	Control object for displaying file info
 * ****************************************** */

function FileProgress(file, targetID) {
	this.fileProgressID = "divFileProgress";

	this.fileProgressWrapper = document.getElementById(this.fileProgressID);
	if (!this.fileProgressWrapper) {
		this.fileProgressWrapper = document.createElement("div");
		this.fileProgressWrapper.className = "progressWrapper";
		this.fileProgressWrapper.id = this.fileProgressID;

		this.fileProgressElement = document.createElement("div");
		this.fileProgressElement.className = "progressContainer";

		var progressCancel = document.createElement("a");
		progressCancel.className = "progressCancel";
		progressCancel.href = "#";
		progressCancel.style.visibility = "hidden";
		progressCancel.appendChild(document.createTextNode(" "));

		var progressText = document.createElement("div");
		progressText.className = "progressName";
		progressText.appendChild(document.createTextNode("上传文件: "+file.name));

		var progressBar = document.createElement("div");
		progressBar.className = "progressBarInProgress";

		var progressStatus = document.createElement("div");
		progressStatus.className = "progressBarStatus";
		progressStatus.innerHTML = " ";

		this.fileProgressElement.appendChild(progressCancel);
		this.fileProgressElement.appendChild(progressText);
		this.fileProgressElement.appendChild(progressStatus);
		this.fileProgressElement.appendChild(progressBar);

		this.fileProgressWrapper.appendChild(this.fileProgressElement);
		document.getElementById(targetID).style.height = "75px";
		document.getElementById(targetID).appendChild(this.fileProgressWrapper);
		fadeIn(this.fileProgressWrapper, 0);

	} else {
		this.fileProgressElement = this.fileProgressWrapper.firstChild;
		this.fileProgressElement.childNodes[1].firstChild.nodeValue = "上传文件: "+file.name;
	}

	this.height = this.fileProgressWrapper.offsetHeight;

}
FileProgress.prototype.setProgress = function (percentage) {
	this.fileProgressElement.className = "progressContainer green";
	this.fileProgressElement.childNodes[3].className = "progressBarInProgress";
	this.fileProgressElement.childNodes[3].style.width = percentage + "%";
};
FileProgress.prototype.setComplete = function () {
	this.fileProgressElement.className = "progressContainer blue";
	this.fileProgressElement.childNodes[3].className = "progressBarComplete";
	this.fileProgressElement.childNodes[3].style.width = "";

};
FileProgress.prototype.setError = function () {
	this.fileProgressElement.className = "progressContainer red";
	this.fileProgressElement.childNodes[3].className = "progressBarError";
	this.fileProgressElement.childNodes[3].style.width = "";

};
FileProgress.prototype.setCancelled = function () {
	this.fileProgressElement.className = "progressContainer";
	this.fileProgressElement.childNodes[3].className = "progressBarError";
	this.fileProgressElement.childNodes[3].style.width = "";

};
FileProgress.prototype.setStatus = function (status) {
	this.fileProgressElement.childNodes[2].innerHTML = status;
};

FileProgress.prototype.toggleCancel = function (show, swfuploadInstance) {
	this.fileProgressElement.childNodes[0].style.visibility = show ? "visible" : "hidden";
	if (swfuploadInstance) {
		var fileID = this.fileProgressID;
		this.fileProgressElement.childNodes[0].onclick = function () {
			swfuploadInstance.cancelUpload(fileID);
			return false;
		};
	}
};





发布了55 篇原创文章 · 获赞 4 · 访问量 21万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章