`
simplehumn
  • 浏览: 184148 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

图片批量上传

阅读更多
先说几句闲话,这两天找了下批量上传(swfupload)的资料,由于网络上前辈们总结的好,所以基本上拿来就用了,在此感谢你们,在这里我也把自己的贴了出来。
好了,开始
首先,要引几个文件(见附件)
<link href="<%=strPath%>/resources/css/SWFUpload/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%=strPath%>/resources/js/SWFUpload/swfupload.js"></script>
<script type="text/javascript" src="<%=strPath%>/resources/js/SWFUpload/swfupload.queue.js"></script>
<script type="text/javascript" src="<%=strPath%>/resources/js/SWFUpload/fileprogress.js"></script>
<script type="text/javascript" src="<%=strPath%>/resources/js/SWFUpload/handlers.js"></script>


然后上传的页面,直接粘了
<%@ page language="java" pageEncoding="UTF-8"%>
<%String strPath = request.getContextPath();%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>图片批量上传</title>
<link href="<%=strPath%>/resources/css/SWFUpload/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%=strPath%>/resources/js/SWFUpload/swfupload.js"></script>
<script type="text/javascript" src="<%=strPath%>/resources/js/SWFUpload/swfupload.queue.js"></script>
<script type="text/javascript" src="<%=strPath%>/resources/js/SWFUpload/fileprogress.js"></script>
<script type="text/javascript" src="<%=strPath%>/resources/js/SWFUpload/handlers.js"></script>
<script type="text/javascript">
	var swfu;
	window.onload = function() {
		var settings = {
			flash_url : "<%=request.getContextPath() %>/resources/js/SWFUpload/swfupload.swf",
			upload_url: "../../om/uploadFile.do?method=picturesUpload",
			//post_params: {},
			file_size_limit : "10 MB",
			file_types : "*.jpg",
			file_types_description : "jpg 文件",
			file_queue_limit : 0,
			custom_settings : {
				progressTarget : "fsUploadProgress",
				cancelButtonId : "btnCancel"
			},
			debug: false,

			// Button settings
			button_image_url: "<%=request.getContextPath() %>/resources/js/SWFUpload/TestImageNoText_65x29.png",
			button_width: "65",
			button_height: "29",
			button_placeholder_id: "spanButtonPlaceHolder",
			button_text: '<span class="theFont">上传</span>',
			button_text_style: ".theFont { font-size: 16; }",
			button_text_left_padding: 12,
			button_text_top_padding: 3,
			
			// The event handler functions are defined in 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 : queueComplete	// Queue plugin event
		};

		swfu = new SWFUpload(settings);
     };
</script>
</head>
<body>
	<div id="content">
		<h2>图片批量上传</h2>
		<form id="form1" action="" method="post" enctype="multipart/form-data">
			<div class="fieldset flash" id="fsUploadProgress">
				<span class="legend">上传队列</span>
			</div>
			<div id="divStatus">0 个文件已上传</div>
			<div>
				<span id="spanButtonPlaceHolder"></span>
				<input id="btnCancel" type="button" value="取消所有上传" onclick="swfu.cancelQueue();" 
					disabled="disabled" style="margin-left: 2px; font-size: 8pt; height: 29px;" />
			</div>
			<span>注:必须上传.jpg格式图片<br>建议:每次上传不超过30张,每张图片大小不超过10MB。</span>
		</form>
	</div>
</body>
</html>


后台java代码
/**
	 * 
	 * 功能:图片批量上传
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public ActionForward picturesUpload(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		KoofUmUser user = (KoofUmUser) request.getSession().getAttribute("koofumuser");
		String userName = user.getLoginname();
		response.setContentType("text/html;charset=utf-8");
		SmartUpload su = null;
		try {
			JspFactory jspxFactory = JspFactory.getDefaultFactory();
			PageContext pageContext = jspxFactory.getPageContext(this
					.getServlet(), request, response, null, true, 8192, true);
			su = new SmartUpload();
			su.initialize(pageContext);
			su.upload();
			String backInfo = UpMgr.fileUpload(su, pageContext);
			String fPath = new SysUtil().getAttribute("koofglobals.koofhome")
					+ "up/" + backInfo;
			File myfile = new File(fPath);
			// 如果文件存在,则导入数据表中
			if (myfile.exists() && myfile.isFile()) {
				String fileName = myfile.getName();
				String[] idcards = fileName.split("\\.");
				String idcard = idcards[0];
                                     //这里我存到了数据库
				this.savePhoto(myfile, idcard, userName);
			}
			//删除文件
			myfile.delete();
			//删除文件夹
			myfile.getParentFile().delete();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}


基本上就这两块,配置文件都正常配置就行,具体可以看附件


分享到:
评论
2 楼 kyytyp 2014-04-14  
页面在IE8不兼容,能不能留个联系方式
1 楼 z872029703 2013-02-26  
  很好

相关推荐

Global site tag (gtag.js) - Google Analytics