apzl_leasing/WebContent/Tenwa/Comm/DocList/DocListUploadNew.jsp

103 lines
4.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@page import="java.io.File"
%><%@page import="org.apache.commons.io.FileUtils"
%><%@page import="com.amarsoft.are.jbo.BizObject"
%><%@page import="com.amarsoft.are.jbo.BizObjectManager"
%><%@page import="com.amarsoft.are.jbo.JBOFactory"
%><%@page import="org.apache.commons.fileupload.FileItem"
%><%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"
%><%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"
%><%@page import="java.net.URLDecoder"
%><%@page import="com.amarsoft.are.jbo.impl.BizObjectTableMapper"
%><%@page import="com.amarsoft.awe.util.DBKeyHelp"
%><%@page import="com.amarsoft.awe.common.attachment.*"
%><%@ page contentType="text/html; charset=GBK"
%><%@ include file="/IncludeBeginMDAJAX.jsp"%><%
//1.创建DiskFileItemFactory对象配置缓存用
DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
// 2. 创建 ServletFileUpload对象
ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);
// 3. 设置文件名称编码
servletFileUpload.setHeaderEncoding("utf-8");
List<FileItem> items = servletFileUpload.parseRequest(request);
String libraryId = "";//附件业务数据表编号
String inputTime = StringFunction.getTodayNow(); //附件编号上传时间
String fileSize = ""; //文件大小
String contentType = ""; //文件类型
String fileName = ""; //文件名称
String fileId = "";
String objectType = "";
InputStream is = null;
for (FileItem fileItem : items) {
if (fileItem.isFormField()) { // >> 普通数据
String fieldValue = fileItem.getString("utf-8");
String fieldName = fileItem.getFieldName();
if("LibraryId".equals(fieldName)) {
libraryId = fieldValue;
} else if("size".equals(fieldName)) {
fileSize = fieldValue;
} else if("name".equals(fieldName)) {
fileName = fieldValue;
} else if("type".equals(fieldName)) {
contentType = fieldValue;
} else if("id".equals(fieldName)) {
fileId = fieldValue;
} else if("ObjectType".equals(fieldName)) {
objectType = fieldValue;
}
ARE.getLog().info(fieldName + ": " + fieldValue);
} else {
//获取文件的实际内容
is = fileItem.getInputStream();
}
}
BizObjectManager libBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.doc.LB_DOCLIBRARY", Sqlca);
BizObjectManager attrBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.doc.LB_DOCATTRIBUTE", Sqlca);
BizObject lib = libBm.createQuery("id=:id").setParameter("id", libraryId).getSingleResult(false);
BizObject attr = attrBm.newObject();
attr.setAttributeValue("Library_Id", libraryId);
attr.setAttributeValue("FileName", fileName);
attr.setAttributeValue("InputUserId", CurUser.getUserID());
attr.setAttributeValue("InputOrgId", CurUser.getOrgID());
attr.setAttributeValue("InputTime", inputTime);
attr.setAttributeValue("objectType", objectType);
//定义数据库操作变量
String sFileSavePath = CurConfig.getConfigure("FileSavePath");
if (!"".equals(libraryId)){
try {
String uuid = java.util.UUID.randomUUID().toString().replaceAll("-", "");
String sFullPath = com.tenwa.officetempalte.util.FileOperatorUtil.getuploadFileDir(sFileSavePath) + uuid + "_" + fileName;
if(Integer.parseInt(fileSize) <= 0){
throw new Exception("上传文件失败,请联系管理员!");
}
//保存文件
FileUtils.copyInputStreamToFile(is, new File(sFullPath));
//得到带相对路径的文件名
String sFilePath = sFullPath.replace(sFileSavePath, "");
attr.setAttributeValue("FilePath", sFilePath);
attr.setAttributeValue("FullPath", sFullPath);
attr.setAttributeValue("Content_Type", contentType);
attr.setAttributeValue("FileSize", fileSize);
attrBm.saveObject(attr);
Sqlca.commit();
}catch(Exception e) {
e.printStackTrace();
Sqlca.rollback();
out.print("FAILED");
}
out.print(attr.getAttribute("id").getString());
} else {
out.print("FAILED");
}
%><%@ include file="/IncludeEndAJAX.jsp"%>