⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uploadaction.java

📁 EasyJF信息发布全部源代码!
💻 JAVA
字号:
package com.easyjf.bbs.action;

import java.io.File;
import java.util.Date;
import java.util.Iterator;
import org.apache.commons.fileupload.FileItem;

import com.easyjf.bbs.business.ActiveUser;
import com.easyjf.bbs.business.BBSUtil;
import com.easyjf.bbs.business.UserInfo;
import com.easyjf.util.CommUtil;
import com.easyjf.util.FileUtil;
import com.easyjf.web.ActionContext;
import com.easyjf.web.Globals;
import com.easyjf.web.IWebAction;
import com.easyjf.web.Module;
import com.easyjf.web.Page;
import com.easyjf.web.WebForm;

/**
 * 
 * <p>
 * Title:处理上传程序
 * </p>
 * <p>
 * Description:把上传来的数据保存到相应的目录.
 * </p>
 * <p>
 * Copyright: Copyright (c) 2006
 * </p>
 * <p>
 * Company: www.easyjf.com
 * </p>
 * 
 * @author 蔡世友
 * @version 1.0
 */
public class UploadAction implements IWebAction {
	public Page execute(WebForm form, Module module) throws Exception {
		// String method=CommUtil.null2String(form.get("easyJWebCommand"));
		String types = CommUtil.null2String(form.get("types")).trim();
		// String parentObj=CommUtil.null2String(form.get("parentObj")).trim();
		java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat(
				"yyyyMMdd");
		ActiveUser user = (ActiveUser) ActionContext.getContext().getSession()
				.getAttribute("bbsuser");
		// 直接通过form取得表单中存的文件,若有文件则执行相应的操作
		if (form.getFileElement().keySet().size() > 0) {
			if (user != null)// 只有注册用户才能上传
			{
				UserInfo u = UserInfo.readByUserName(user.getUserName());
				if (BBSUtil.canUploadImg(u)) {
					Iterator it = form.getFileElement().keySet().iterator();
					if (it.hasNext()) {
						String fieldName = (String) it.next();
						FileItem file = (FileItem) form.getFileElement().get(
								fieldName);
						String clientName = file.getName();
						String parentDir;
						if (types.equals("doc")) {
							parentDir = "doc/" + dateFormat.format(new Date());
						} else
							parentDir = "user/" + user.getUserName();
			       if (FileUtil.isImgageFile(clientName)||FileUtil.isAttacheFile(clientName)) {//用户只能传图片及定义的附件文件						
							String filePath = Globals.APP_BASE_DIR
									+ "bbs/upfile/" + parentDir + "/";
							try {
								File fdir = new File(filePath);
								if (!fdir.exists())
									fdir.mkdirs();
								String fileName = (types.equals("doc") ? (CommUtil
										.getRandString(10) + clientName
										.substring(clientName.lastIndexOf(".")))
										: clientName.substring(clientName
												.lastIndexOf("\\") + 1));
								String fullFileName = "/bbs/upfile/"
										+ parentDir + "/" + fileName;
								form.addResult("fileName", fullFileName);
								file.write(new File(filePath + fileName));
							} catch (Exception e) {
								System.out.println("文件上传错误!" + e);
							}

						} else {
							form.addResult("msg", "只能上传图片及附件文件!");
						}
					}
				} else {
					form.addResult("msg", "积分不够,无法上传内容!");
				}
			} else {
				form.addResult("msg", "您没有登录,不能上传图片!");
			}
		}
		return module.findPage(module.getDefaultPage());
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -