uploadify(dwz中使用的上传插件)使用方法

原创
2013/08/06 11:33
阅读数 9.5K

先是html代码:

<%@ page language="java" import="java.util.*"  pageEncoding="utf-8"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>上传客户端软件</title>


<script type="text/javascript">
 $(document).ready(function(){
 		//初始化uploadify 用于word上传
						$("#doc_upload").uploadify({
											'swf' : '/js/uploadify/uploadify.swf',//上传的flash文件,必用
											'uploader' : '/upload.action;jsessionid=<%=request.getSession().hashCode()%>',//上传的请求URL
											//'script' : '/upload.action',
											'method' : "post",//请求方式
											//'folder' : 'upload',//设置上传文件夹
											'cancelImage' : '/js/uploadify/uploadify-cancel.png',//设置取消的图片
											'displayData' : 'speed',//进度条的显示方式
											'fileObjName' : 'file',//与后台Action中file属性一样
											'formData' : {
												'folder' : '/upload/soft'
											},//附带值,参数
											'queueID' : 'doc_pb',//进度条ID
											'auto' : true,//自动上传
											'multi' : false,//是否为多文件上传
											'buttonImage':'/images/upload.png',
											'button Text' : " 浏 览 ",
											'uploadLimit' : 1,//一次可以上传多少个文件
											'fileSizeLimit' : '100000KB',//单个文件上传最大值
											'queueSizeLimit' : 1,//最多上传个数
											successTimeout : 99999,//上传超时时间
											'fileTypeDesc' : '支持格式:*.exe',//提示上传格式
											'fileTypeExts' : '*.exe',//限制上传文件格式
											'rollover' : true,
											'removeCompleted' : false,//上传完成后是否自动隐藏进度条
											//'debug' : true,
											progressData : "percentage",//显示上传的百分比
											//上传到服务器,服务器返回相应信息到data里
											onUploadSuccess : function(file,//每个文件上传完成后都会调用一次,其中data为,相应信息,file为上传文件信息,response只有两个值true or false
													data, response) {
												//alert(response);
												//alert(file);
												//alert(data);
												$("#doc_path").val(data);
											},
											//选择文件时出错
											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);
            }
      }
}
</script>
</head>
<body>
	<form enctype="multipart/form-data" action="/updateVersion" method="post" class="pageForm required-validate" onsubmit="return validateCallback(this, navTabAjaxDone);">
	<input id="doc_path"  name="path"  type="hidden" >
	<div class="pageFormContent nowrap" layoutH="56">
		<dl><dt>版&nbsp;&nbsp;本&nbsp;&nbsp;号:</dt><dd><input name="versionNum"  type="text"  class="required"></dd></dl>
		<dl><dt>上传软件:</dt><dd><input type="file" name="doc" id="doc_upload"  >
		<div id="doc_pb"></div></dd></dl>
			<div class="formBar" style="margin-top: 600px">
				<ul>
					<!--<li><a class="buttonActive" href="javascript:;"><span>保存</span></a></li>-->
					<li><div class="buttonActive">
							<div class="buttonContent">
								<button type="submit">保存</button>
							</div>
						</div></li>
					<li>
						<div class="button">
							<div class="buttonContent">
								<button type="button" class="close">取消</button>
							</div>
						</div>
					</li>
				</ul>
			</div>
	</div>
	</form>
</body>
</html>
然后是后台的action,这里只提供的action对应的方法
 

 /** 文件 **/  private File file;

 /** 文件名 **/  private String fileFileName;

 /** 文件类型 **/  private String fileContentType;

 /** 文件保存路径 **/  private String folder;

/** * 上传文件 * * @return */ public String upload() { // System.out.println(TransUtil.getSha1(file)); String realPath = ServletActionContext.getServletContext().getRealPath( folder);// 获取文件保存物理路径 if (file != null) { final String saveName = TransUtil.renameFileName(realPath, fileFileName.replaceAll(" ", "_")); final File saveFile = new File(new File(realPath), saveName); if (!saveFile.getParentFile().exists()) { saveFile.getParentFile().mkdirs(); } try { // System.out.println("有没有经过这里?"); FileUtils.copyFile(file, saveFile); HttpServletResponse response = ServletActionContext .getResponse(); response.setCharacterEncoding("UTF-8"); response.getWriter().write(folder + "/" + saveName);// 返回文件地址 // System.out.println(TransUtil.getSha1(saveFile)); } catch (IOException e) { e.printStackTrace(); System.out.println("上传文件失败"); } } return null; }

 

 

展开阅读全文
打赏
0
7 收藏
分享
加载中
更多评论
打赏
0 评论
7 收藏
0
分享
返回顶部
顶部