%@page import="java.net.URLDecoder"%>
<%@page import="com.amarsoft.awe.common.attachment.*"%>
<%@ page contentType="text/html; charset=GBK"%>
<%@ include file="/IncludeBegin.jsp"%><%
/*
Author: fmwu 2008/01/08
Content: 上传电子文档格式模板及数据定义模板
*/
%>
<%!//根据相关参数得到保存文件的实际路径
String getFullPath(String sDocNo, String sFileName, String sFileSavePath, ServletContext sc) {
java.io.File dFile = null;
String sBasePath = sFileSavePath;
if (!sFileSavePath.equals("")) {
try {
dFile = new java.io.File(sBasePath);
if (!dFile.exists()) {
dFile.mkdirs();
System.out.println("!!保存附件文件路径[" + sFileSavePath + "]创建成功!!");
}
} catch (Exception e) {
sBasePath = sc.getRealPath("/WEB-INF/Upload");
System.out.println("!!保存附件文件路径[" + sFileSavePath + "]无法创建,文件保存在缺省目录[" + sBasePath + "]!");
}
} else {
sBasePath = sc.getRealPath("/WEB-INF/Upload");
System.out.println("!!保存附件文件路径没有定义,文件保存在缺省目录[" + sBasePath + "]!");
}
String sFullPath = sBasePath + getMidPath(sDocNo);
try {
dFile = new java.io.File(sFullPath);
if (!dFile.exists()) {
dFile.mkdirs();
}
} catch (Exception e) {
System.out.println("!!保存附件文件完整路径[" + sFullPath + "]无法创建!");
}
String sFullName = sBasePath + getFilePath(sDocNo, sFileName);
return sFullName;
}
//根据相关参数得到中间部分的路径
String getMidPath(String sDocNo) {
return "/Template/EDoc";
}
//根据相关参数得到完整文件名
String getFilePath(String sDocNo, String sShortFileName) {
String sFileName;
sFileName = getMidPath(sDocNo);
sFileName = sFileName + "/" + sDocNo + "_" + sShortFileName;
return sFileName;
}
%>
<%
AmarsoftUpload myAmarsoftUpload = new AmarsoftUpload();
myAmarsoftUpload.initialize(pageContext);
myAmarsoftUpload.upload();
String sEDocNo = (String) myAmarsoftUpload.getRequest().getParameter("EDocNo");
String sDocType = (String) myAmarsoftUpload.getRequest().getParameter("DocType");
String sFileName = URLDecoder.decode((String) myAmarsoftUpload.getRequest().getParameter("FileName"), "UTF-8");
//得到不带路径的文件名
sFileName = StringFunction.getFileName(sFileName);
ASResultSet rs = Sqlca.getASResultSetForUpdate("SELECT EDOC_DEFINE.* FROM EDOC_DEFINE WHERE EDocNo='" + sEDocNo + "'");
if (rs.next()) {
if (!myAmarsoftUpload.getFiles().getFile(0).isMissing()) {
try {
java.util.Date dateNow = new java.util.Date();
SimpleDateFormat sdfTemp = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
String sUpdateTime = sdfTemp.format(dateNow);
String sFileSavePath = CurConfig.getConfigure("FileSavePath");
String sFullPath = getFullPath(sEDocNo, sFileName, sFileSavePath, application);
myAmarsoftUpload.getFiles().getFile(0).saveAs(sFullPath);
rs.updateString("FullPath"+sDocType, sFullPath);
rs.updateString("FileName"+sDocType, sFileName);
rs.updateString("ContentType"+sDocType, DataConvert.toString(myAmarsoftUpload.getFiles().getFile(0).getContentType()));
rs.updateString("ContentLength"+sDocType, DataConvert.toString(String.valueOf(myAmarsoftUpload.getFiles().getFile(0).getSize())));
rs.updateString("UpdateUser", CurUser.getUserID());
rs.updateString("UpdateOrg", CurUser.getOrgID());
rs.updateString("UpdateTime", sUpdateTime);
rs.updateRow();
rs.getStatement().close();
myAmarsoftUpload = null;
} catch (Exception e) {
out.println("An error occurs : " + e.toString());
rs.getStatement().close();
myAmarsoftUpload = null;
%>
<%
}
}
}
%>
<%@ include file="/IncludeEnd.jsp"%>