📄 uploadaction.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 + -