📄 u07tfileaction.java
字号:
package cn.hope.front.action;
import java.net.URLEncoder;
import java.util.Hashtable;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.upload.FormFile;
import org.apache.struts.upload.MultipartRequestHandler;
import org.apache.struts.validator.DynaValidatorForm;
import cn.hope.front.Constants;
import cn.hope.front.bo.U07TFileBO;
import cn.hope.front.bo.U07TFileType2BO;
import cn.hope.front.bo.U07TFileTypeBO;
import cn.hope.front.bo.U07TFileTypeCasCadeBO;
import cn.hope.front.form.validation.U07TFileFormValid;
import cn.hope.front.pojo.TFile;
import cn.hope.front.pojo.TFileType2;
import cn.hope.front.pojo.TInfo;
import cn.hope.front.pojo.U07CommonListVO;
import cn.hope.front.util.U07FileOperation;
import cn.hope.front.util.Utility;
public class U07TFileAction extends DispatchAction {
Logger log = Logger.getLogger(U07TFileAction.class.getName());
private U07TFileBO u07TFileBO = new U07TFileBO();
public ActionForward insert(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ActionMessages errors = new ActionMessages();
String realPath = this.getServlet().getServletContext()
.getRealPath("/");
String saveDir = "/upload/tfile/zhaogang/";
String realSaveDir = realPath + saveDir;
U07FileOperation U07FileOperation = new U07FileOperation();
errors = U07TFileFormValid.checkErrors(form, request);
if (errors.size() != 0) {
saveErrors(request, errors);
return mapping.findForward("errors");
}
try {
DynaValidatorForm tFileForm = (DynaValidatorForm) form;
MultipartRequestHandler mrh = tFileForm
.getMultipartRequestHandler();
Hashtable elements = mrh.getFileElements();
FormFile file = (FormFile) elements.get("file");
/** ********文件上传********** */
U07FileOperation.mdir(realSaveDir);
String fname = file.getFileName();
Integer size = new Integer(file.getFileSize() / 1000);
int i = fname.lastIndexOf(".");
String fileexc = fname.substring(i).toLowerCase();
/*
* Date date = new Date(); long lg = date.getTime(); String
* newfileNamex = lg + fileexc;
*/
fname = fname.substring(0, i);
String newfileNamex = fname + fileexc;
String saveURI = realSaveDir + newfileNamex;
U07FileOperation u07FileOperation = new U07FileOperation();
u07FileOperation.mdir(realSaveDir);
u07FileOperation.doUpload(file, saveURI);
/** ********数据录入********** */
String dbSaveURI = saveDir + newfileNamex;
TFile tFile = (TFile) tFileForm.get("tFile");
TFileType2 tft2 = (TFileType2) tFileForm.get("tft2");// 得到TFileType2实体
TInfo tInfo = new TInfo();
tInfo.setTId("zhaogang");
tFile.setTFileType2(tft2);
tFile.setTfName(newfileNamex);
tFile.setTInfo(tInfo);
tFile.setTfTime(Utility.getCurDateTime());
tFile.setTfPath(dbSaveURI);
tFile.setTfSize(size);
tFile.setFlag("0");
tFile.setTfDtimes(new Integer(0));
if (u07TFileBO.insert(tFile) > 0) {
return mapping.findForward("success");
}
} catch (Exception e) {
log.error(e);
e.printStackTrace();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"errors.u07exception"));
saveErrors(request, errors);
String a=e.toString();
request.setAttribute("ename",a);
request.setAttribute("exception",e.getStackTrace());
return mapping.findForward("errorPage");
}
return mapping.findForward("errorPage");
}
public ActionForward search(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ActionMessages errors = new ActionMessages();
DynaActionForm tFileForm = (DynaActionForm) form;
TFile tFile = new TFile();
U07CommonListVO cl_vo = new U07CommonListVO();
int start = 0;
boolean isEq = false;
U07TFileTypeCasCadeBO u07TFileTypeCasCadeBO = new U07TFileTypeCasCadeBO();
U07TFileTypeBO u07TFileTypeBO = new U07TFileTypeBO();
U07TFileType2BO u07TFileType2BO = new U07TFileType2BO();
try {
tFile = (TFile) tFileForm.get("tFile");
if (StringUtils.isNotEmpty(request.getParameter("start"))) {
start = Integer.parseInt(request.getParameter("start"));
}
if (StringUtils.isNotEmpty(request.getParameter("isEq"))) {
isEq = true;
}
cl_vo = u07TFileBO.serach(tFile, start, isEq);
List tft1List = u07TFileTypeBO.serachAll();// 获得一级分类列表
List tft2List = u07TFileType2BO.serachAll();// 获得二级分类列表
String js = u07TFileTypeCasCadeBO.cascade(tft2List, "U07TFileForm",
"tftSearch", "tft2Id");
request.getSession().setAttribute("tft1List", tft1List);
request.getSession().setAttribute("tft2List", tft2List);
request.getSession().setAttribute("js", js);
request.getSession().setAttribute(Constants.U07_SESSION_TFILELIST,
cl_vo);
return mapping.findForward("success");
} catch (Exception e) {
log.error(e);
e.printStackTrace();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"errors.u07exception"));
saveErrors(request, errors);
String a=e.toString();
request.setAttribute("ename",a);
request.setAttribute("exception",e.getStackTrace());
return mapping.findForward("errorPage");
}
}
public ActionForward download(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ActionMessages errors = new ActionMessages();
String f_id = request.getParameter("f_id");
if (StringUtils.isNotEmpty(f_id)) {
try {
Integer tfId = new Integer(f_id);
TFile tf = u07TFileBO.download(tfId);
if (tf != null) {
String fName = tf.getTfName();
/* 文件下载 */
response.setContentType("application/x-download");// 设置为下载
String filenamedownload = tf.getTfPath();// 即将下载的文件的相对路径
String filenamedisplay = fName;// 下载文件时显示的文件保存名称
filenamedisplay = URLEncoder.encode(filenamedisplay,
"UTF-8");
response.addHeader("Content-Disposition",
"attachment;filename=" + filenamedisplay);
RequestDispatcher dispatcher = this.getServlet()
.getServletContext().getRequestDispatcher(
filenamedownload);
// RequestDispatcher dispatcher =
// application.getRequestDispatcher(filenamedownload);
if (dispatcher != null) {
dispatcher.forward(request, response);
}
response.flushBuffer();
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("errors.fileNotExist"));
saveErrors(request, errors);
return mapping.findForward("errors");
}
return null;
} catch (Exception e) {
log.error(e);
e.printStackTrace();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"errors.u07exception"));
saveErrors(request, errors);
String a=e.toString();
request.setAttribute("ename",a);
request.setAttribute("exception",e.getStackTrace());
return mapping.findForward("errorPage");
}
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"errors.fileNotExist"));
saveErrors(request, errors);
return mapping.findForward("errors");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -