<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ page contentType="text/html; charset=UTF-8" language="java" %> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <%@ page import="org.apache.commons.io.*" %> <%@ page import="com.csc.library.utilities.UProfile" %> <%@ page import="com.csc.library.fileutils.*" %> <%@ page import="com.csc.library.upload.*" %> <%@ page import="com.csc.library.upload.utils.*" %> <%@ page import="com.csc.library.upload.UploadConfig" %> <%@ page import="com.csc.library.session.InitialEnvironment" %> <%@ page import="com.csc.library.download.FileDownloadUtils2" %> <jsp:useBean id="uploadbean" class="com.csc.library.upload.CscFileUpload" scope="request" /> <% int fileCount = 1, uploadLastFileIndex = 1; long fileSizeMax= -1L; boolean blacklistenabled = false, error = false; String root = "", folder= "", filter = ""; String uploadfield = request.getParameter("uploadfield"); String fieldreturn = request.getParameter("fieldreturn"); String subfolder = request.getParameter("subfolder"); UploadConfig uconfig = null; try { uconfig = new UploadConfig(); uconfig.setUploadField( uploadfield ); filter=uconfig.getFilter(); blacklistenabled = uconfig.isBlacklistenabled(); fileSizeMax = uconfig.getFileSizeMax(); fileCount = uconfig.getFileCount(); if(fileCount>1) { uploadLastFileIndex = fileCount; } } catch (Exception e) { error = true; request.setAttribute("error", e.getMessage() ); } if(CscFileUpload.isMultipartFormData( request ) ) { try { System.out.println("Start uploading..."); uploadbean.setProgressListener(new FileUploadProgressListener(request, 30) ); uploadbean.setFileSizeMax(fileSizeMax); uploadbean.process( request ); Map files = uploadbean.getFiles(); String uploadpath; root = uconfig.getRoot(); folder = uconfig.getFolder(); InitialEnvironment env = new InitialEnvironment("GLOBAL"); uploadpath = env.getValue( root +"-dir" ); if( folder != null && !("").equals(folder) ) { uploadpath = uploadpath +folder +"/"; } if( subfolder != null && !("").equals(subfolder) ) { uploadpath = uploadpath +subfolder +"/"; } uploadbean.setUploadDirectory( uploadpath ); uploadbean.setFileFilter( filter ); uploadbean.setBlacklistEnabled( blacklistenabled ); FileRenamePolicy fileRename = (FileRenamePolicy)uconfig.getFileRenamePolicy(); if(fileRename == null ) { fileRename = new TimeStampFileRename(); } uploadbean.setFileRenamePolicy( fileRename ); System.out.println("Process file upload"); if(FileUploadUtils.getUploadInfo(request).isCancel()) { request.setAttribute("cancel", "Upload cancel."); System.out.println("jsp-Cancel"); } else if( files != null && files.size()>0 ) { uploadbean.save(); request.setAttribute("success", "The file was uploaded successfully!"); System.out.println("jsp-success"); } else if(!error) { request.setAttribute("error", "No file upload" ); System.out.println("jsp-error : No file upload:" +files.size()); } } catch(Exception e) { request.setAttribute("error", e.getMessage()); System.out.println("jsp-error :" +e.getMessage()); } } UProfile uprofile = (UProfile)request.getSession().getAttribute("userprofile"); String lang= "tha"; if( uprofile!= null && uprofile.get("lang")!=null ) { lang = uprofile.get("lang"); } %> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="PRAGMA" content="NO-CACHE"> <link rel="stylesheet" type="text/css" href="CSS/TISCO.css" /> <link rel="stylesheet" type="text/css" href="CSS/UPLOAD_UI.css" /> <script type="text/javascript" src="<%=request.getContextPath() %>/dwr/interface/UploadMonitor.js"></script> <script type="text/javascript" src="<%=request.getContextPath() %>/dwr/engine.js"></script> <script type="text/javascript" src="JS/JavaUtils.js"></script> <script type="text/javascript" src="JS/FilenameUtils.js"></script> <script type="text/javascript" src="JS/UPLOAD2.js"></script> <script type="text/javascript"> var fileFilter, restrict; var lang = "<%=lang.toLowerCase()%>"; var uploadLastFileIndex = <%=uploadLastFileIndex %>; function activeButton(obj, active){ } function cancelUpload(){ activeButton($("cancelButton"), false); if(submitted) { if(uploadCanCancel()) { cancelProgress(); } }else { closePage(); } } function closePage() { window.close(); } function reloadPage() { window.location.replace( window.location.href ); } function uploadReturn(){ with(document.cscform) { var cmd = window.opener.document.getElementsByName("__cmd")[0]; var cmdchild = window.opener.document.getElementsByName("__cmdchild")[0]; var fieldreturn = window.opener.document.getElementsByName(__fieldreturn.value)[0]; if(fieldreturn != null && typeof(fieldreturn) !="undefined" ) { fieldreturn.value = __uploadreturn.value; } cmd.value = 'refresh'; if(cmdchild != null && typeof(cmdchild) !="undefined" ) { cmdchild.value = 'upload'; } window.opener.document.cscform.submit(); } } /* // used input image and set on form submit = startProgress; function processUpload(){ with(document.cscform) { submit(); startProgress(); } } */ </script> <style type="text/css"> #mainMasterTable { background: #efefef; } #preUpload { /*padding-left: 30px;*/ } .subText2 { color: #000000; } .input-image { height: 23px; min-width: 73px; border: 0px solid none; } </style> </head> <body> <div id="wrapper"> <table align="center" cellpadding="0" cellspacing="0" id="mainMasterTable"> <tr> <td class="header">UPLOADFILE, <script type="text/javascript">document.write( messages[lang]["upload-page-title"] );</script> </td> </tr> <tr> <td valign="top"> <% if (request.getAttribute("cancel") != null) { %> <div class="globalContentSpacing"> <table border="0" cellpadding="0" cellspacing="0" class="maxsize"> <tr> <td width="48" height="48" rowspan="2"> <span id="titleIcon"><img src="IMAGES/UPLOAD/ICON/ICON-WARNING.gif" width="48" height="48" align="absmiddle" /></span> </td> <td> <h1 class="pageTitle"><span id="titleText"><script type="text/javascript">document.write( messages[lang]["upload-cancel-title"] );</script></span></h1> </td> </tr> <tr> <td><div class="subText" id="pageSubText"></div></td> </tr> </table> <div id="postUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div class="message"><p><script type="text/javascript">document.write( messages[lang]["upload-cancel-message"] );</script></p></div> </div> <div class="pageTitlePadding"></div> </div> </div> <div id="buttonBarRow"> <div id="buttonCancel" class="buttonline" align="center"> <a href="javascript:;" onclick="reloadPage();"><img src="IMAGES/BUTTON/RETRY.gif" width="73" height="23" border="0"></a> <a href="javascript:;" onclick="closePage();"><img src="IMAGES/BUTTON/CLOSE.gif" width="73" height="23" border="0"></a> </div> </div> <% } else if (request.getAttribute("error") != null) { %> <div class="globalContentSpacing"> <table border="0" cellpadding="0" cellspacing="0" class="maxsize"> <tr> <td width="48" height="48" rowspan="2"><span id="titleIcon"><img src="IMAGES/UPLOAD/ICON/ICON-ERROR.gif" width="48" height="48" align="absmiddle" /></span></td> <td><h1 class="pageTitle"><span id="titleText"><script type="text/javascript">document.write( messages[lang]["upload-error-title"] );</script></span></h1></td> </tr> <tr> <td><div class="subText" id="pageSubText"><script type="text/javascript">document.write( messages[lang]["upload-error-sub"] );</script></div></td> </tr> </table> <div id="postUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div class="message"><p><%=request.getAttribute("error")%></p></div> </div> <div class="pageTitlePadding"></div> </div> </div> <div id="buttonBarRow"> <div id="buttonError" class="buttonline" align="center"> <a href="javascript:;" onclick="reloadPage();"><img src="IMAGES/BUTTON/RETRY.gif" width="73" height="23" border="0"></a> <a href="javascript:;" onclick="closePage();"><img src="IMAGES/BUTTON/CLOSE.gif" width="73" height="23" border="0"></a> </div> </div> <% } else if (request.getAttribute("success") != null) { %> <form name="cscform" id="cscform" method="post" action="?<%=request.getQueryString()%>"> <input type="hidden" name="__fieldreturn" value="<%=fieldreturn %>" /> <div class="globalContentSpacing"> <table border="0" cellpadding="0" cellspacing="0" class="maxsize"> <tr> <td width="48" height="48" rowspan="2"><span id="titleIcon"><img src="IMAGES/UPLOAD/ICON/ICON-TIPS.gif" width="48" height="48" align="absmiddle" /></span></td> <td><h1 class="pageTitle"><span id="titleText"><script type="text/javascript">document.write( messages[lang]["upload-success-title"] );</script></span></h1></td> </tr> <tr> <td><div class="subText" id="pageSubText"><script type="text/javascript">document.write( messages[lang]["upload-success-sub"] );</script></div></td> </tr> </table> <div id="postUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div id="fileUploads"> <% ArrayList history = uploadbean.getHistory(); StringBuffer uploadReturn = new StringBuffer(); FileDownloadUtils2 utils = null; System.out.println(history.size()); if( history.size()==1) { UploadParameters up = (UploadParameters)history.get(0); uploadReturn.append(up.getFilename()); utils = new FileDownloadUtils2(uploadfield, up.getFilename()); if( subfolder != null && !("").equals(subfolder) ) { utils.setSubfolder(subfolder); } %> <div class="listFiles"> <span class="attachIcon"><img src="IMAGES/UPLOAD/ICON/ICON-ATTACH.gif" /></span> <a href="<%=utils.getDownloadUrl()%>"><%=up.getOrgFilename()%></a> [<%=FileUtils.byteCountToDisplaySize(up.getFilesize())%>]</div> <% } else { for( int i=0; i<history.size(); i++) { UploadParameters up = (UploadParameters)history.get(i); uploadReturn.append(up.getFilename()).append(","); utils = new FileDownloadUtils2(uploadfield, up.getFilename()); if( subfolder != null && !("").equals(subfolder) ) { utils.setSubfolder(subfolder); } %> <div class="listFiles"> <span class="attachIcon"><img src="IMAGES/UPLOAD/ICON/ICON-ATTACH.gif" /></span> <a href="<%=utils.getDownloadUrl()%>"><%=up.getOrgFilename()%></a> [<%=FileUtils.byteCountToDisplaySize(up.getFilesize())%>]</div> <% } } %><input type="hidden" id="__uploadreturn" name="__uploadreturn" value="<%=uploadReturn.toString() %>" /> </div> </div> <div class="pageTitlePadding"></div> </div> </div> <script type="text/javascript">uploadReturn();</script> <div id="buttonBarRow"> <div id="buttonSuccess" class="buttonline" align="center"> <a href="javascript:;" onclick="closePage();"><img src="IMAGES/BUTTON/CLOSE.gif" width="73" height="23" border="0"></a> </div> </div> </form> <% } else {%> <% FileUploadUtils.removeUploadInfo(request); %> <form name="cscform" id="cscform" enctype="multipart/form-data" method="post" action="?<%=request.getQueryString()%>" onsubmit="return startProgress();" > <input type="hidden" name="__blacklistenabled" value="<%=blacklistenabled %>" /> <input type="hidden" name="__filter" value="<%=filter %>" /> <input type="hidden" name="__fieldreturn" value="<%=fieldreturn %>" /> <script type="text/javascript">initialFileFilter();</script> <div class="globalContentSpacing"> <table border="0" cellpadding="0" cellspacing="0" class="maxsize"> <tr> <td width="48" height="48" rowspan="2"><span id="titleIcon"><img src="IMAGES/UPLOAD/ICON/ICON-UPLOAD.gif" width="48" height="48" align="absmiddle" /></span></td> <td><h1 class="pageTitle"><span id="titleText"><script type="text/javascript">document.write( messages[lang]["upload-title"] );</script></span></h1></td> </tr> <tr> <td><div class="subText" id="pageSubText"><script type="text/javascript">document.write( messages[lang]["upload-message"] );</script></div></td> </tr> </table> <div id="preUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div class="message"><script type="text/javascript">//document.write( messages[lang]["upload-message"] );</script></div> <div id="fileUploads"> <% if( fileCount == 0 ) { %> <div id="filediv1"> <input type="file" id="file1" name="file1" size="50" class="fileUploadBox" onchange="chkFileUpload(event, this);" onkeyup="chkFileUpload(event, this);" /> </div> <% } else { for(int index=1; index<= fileCount; index++) { %> <div id="filediv<%=index %>"> <input type="file" id="file<%=index %>" name="file<%=index %>" size="50" class="fileUploadBox" onchange="chkFileUpload(event, this);" onkeyup="chkFileUpload(event, this);" /> </div> <% } } %> </div> <% if( fileCount == 0 ) { %> <a href="javascript:;" onclick="addFileInput('fileUploads')"><img src="IMAGES/UPLOAD/ICON/ICON-ADD.png" alt="Add" width="16" height="16" border="0" align="absmiddle" /></a> <%}%> <div class="pageTitlePadding"></div> <div class="subText2"><% if(fileSizeMax>0) {%><script type="text/javascript">document.write( messages[lang]["upload-max-size"] );</script>: <span><%=FileUtils.byteCountToDisplaySize(fileSizeMax)%> <%}%></span></div> <div class="subText2"><script type="text/javascript">document.write( messages[lang]["extensions<% if(blacklistenabled){%>-not<%}%>-allow"] );</script>: <span><%=filter%></span></div> </div> <div class="pageTitlePadding"></div> </div> <div id="duringUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div id="progressBar"> <div id="progressBarText">Upload in progress: 0% </div> <div id="progressBarBox"> <div id="progressBarBoxContent" style="width:1px;"></div> </div> <div id="progressStatusText">Status : Upload start</div> </div> </div> <div class="pageTitlePadding"></div> </div> <div id="postUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div class="message"><p><script type="text/javascript">document.write( messages[lang]["upload-cancel-message"] );</script></p></div> </div> <div class="pageTitlePadding"></div> </div> <script type="text/javascript">setVisible($("duringUpload"), false);</script> <script type="text/javascript">setVisible($("postUpload"), false);</script> </div> <div id="buttonBarRow"> <div id="buttonUpload" class="buttonline" align="center"> <input name="btnUpload" type="image" class="input-image" id="btnUpload" value="upload" src="IMAGES/BUTTON/UPLOAD.gif" border="0" /> <a href="javascript:;" onclick="cancelUpload();"><img src="IMAGES/BUTTON/CANCEL.gif" width="73" height="23" border="0"></a> </div> <div id="buttonCancel" class="buttonline" align="center"> <a href="javascript:;" onclick="reloadPage();"><img src="IMAGES/BUTTON/RETRY.gif" width="73" height="23" border="0"></a> <a href="javascript:;" onclick="closePage();"><img src="IMAGES/BUTTON/CLOSE.gif" width="73" height="23" border="0"></a> </div> <script type="text/javascript">setVisible($("buttonCancel"), false);</script> </div> </form> <% } %> </td> </tr> <tr> <td class="blankspace"></td> </tr> <tr> <td class="bottom"></td> </tr> </table> </div> </body> </html>