DWZ+Jfinal结合做的图片上传

   这里先说一下,我用DWZ做前台显示数据,后台Jfinal查询数据

前台   效果图 


前台页面代码部分:

<form method="post" action="<%=basePath%>actives/add" onsubmit="return iframeCallback(this,dialogAjaxDone);" 
	class="pageForm required-validate" enctype="multipart/form-data">
		<div class="pageFormContent" layoutH="56">
			<p>
				<label>活动名称:</label>
				<input type="text" name="name" class="required" size="30"/>
			</p> 
			<p>
				<label>活动内容:</label>
				<input type="text" name="content" size="30" class="textInput">
			</p>
			<p>
				<label>开始时间:</label>
				<input type="text" name="startTime" class="date" size="30"/>
			</p> 
			<p>
				<label>结束时间:</label>
				<input type="text" name="endTime" size="30" class="date">
			</p>
			<p>
				<label>活动海报:</label>
				<input type="file" name="fileUp" style="width: 150px;" /> *支持jpg,gif,png
			</p>
		</div>
		<div class="formBar">
			<ul>
				<li>
					<div class="buttonActive">
						<div class="buttonContent">
							<button type="submit" id="tosave">保存</button>
						</div>
					</div>
				</li>
				<li>
					<div class="button">
						<div class="buttonContent">
							<button type="button" class="close">取消</button>
						</div>
					</div>
				</li>
			</ul>
		</div>
	</form>

jfinal配置的是action跳转到actives路径下的add方法

public void add(){
		Actives act = new Actives();
		boolean flag = false;
		HttpServletRequest request = this.getRequest();
		DiskFileItemFactory factory = new DiskFileItemFactory();
		ServletFileUpload upload = new ServletFileUpload(factory);
		try {
			   List<FileItem> items = upload.parseRequest(request);
			   Iterator itr = items.iterator();
			   while (itr.hasNext()) {
				    FileItem item = (FileItem) itr.next();
				    //获取前台所有有name属性的字段,然后放到实体中准备增加
				    if (item.isFormField()) {
				    	if(item.getFieldName().equals("id")){
				    		act.set("id", item.getString("UTF-8"));
				    	}
				    	if(item.getFieldName().equals("name")){
				    		act.set("name", item.getString("UTF-8"));
				    	}
				    	if(item.getFieldName().equals("content")){
				    		act.set("content", item.getString("UTF-8"));
				    	}
				    	if(item.getFieldName().equals("startTime")){
				    		act.set("startTime", item.getString("UTF-8"));
				    	}
				    	if(item.getFieldName().equals("endTime")){
				    		act.set("endTime", item.getString("UTF-8"));
				    	}
				    	System.out.println("表单参数名:" + item.getFieldName() + ",表单参数值:" + item.getString("UTF-8"));
				    } else {
				    	if (item.getName() != null && !item.getName().equals("")) {
		            		String name = item.getName();
					    	name = name.substring(name.lastIndexOf(".") + 1).trim();
					    	
					    	// 定义允许上传的文件类型
			                List<String> fileTypes = new ArrayList<String>();
			                fileTypes.add("jpg");
			                fileTypes.add("jpeg");
			                fileTypes.add("gif");
			                fileTypes.add("png");
					    	if (!fileTypes.contains(name.toLowerCase())){
				            	setAttr("message", "只允许上传jpg,jpeg,gif,png格式的图片");
				            } else {
				            	setAttr("message", "上传文件成功!");
				        		act.set("name", act.getStr("name"));
				        		act.set("content", act.getStr("content"));
				        		act.set("startTime", act.getStr("startTime"));
				        		act.set("endTime", act.getStr("endTime"));
				        		flag = act.save();
				        		Actives aa = act.findFirst("select  max(id) id from 3d_active");
				        		File tempFile = new File(item.getName());
				        		if(tempFile.exists()){
				        			tempFile.renameTo(new File(InitDataListener.TOMCAT_PATH+"img/"+aa.getInt("id")+"."+name));
				        		}
				            	item.write(tempFile);
				           } 
					  }else{
					     setAttr("message", "没有选择上传文件");
					  }
				  }
			}
			}catch(FileUploadException e){
				e.printStackTrace();
			} catch (Exception e) {
				e.printStackTrace();
				request.setAttribute("upload.message", "上传文件失败!");
			} 
		//标志上传成功与失败,返回给前台
		if(flag){
			Map<String, String> map=new HashMap<String, String>();
			map.put("statusCode", "200");
			map.put("message", "活动发布成功");
			map.put("navTabId", "");
			map.put("rel", "");
			map.put("callbackType", "closeCurrent");
			map.put("forwardUrl", "");
			String json=JsonKit.mapToJson(map, 0);
			renderJson(json);
		}
	}

好了,大功告成,这样上传就完成了!! 大笑

猜你喜欢

转载自blog.csdn.net/u013682582/article/details/41080175
今日推荐