📄 smartupload.java~13~
字号:
} return s3; } private String getFileExt(String s) { String s1 = new String(); int i = 0; int j = 0; if(s == null) return null; i = s.lastIndexOf('.') + 1; j = s.length(); s1 = s.substring(i, j); if(s.lastIndexOf('.') > 0) return s1; else return ""; } private String getContentType(String s) { String s1 = new String(); String s2 = new String(); int i = 0; boolean flag = false; s1 = "Content-Type:"; i = s.indexOf(s1) + s1.length(); if(i != -1) { int j = s.length(); s2 = s.substring(i, j); } return s2; } private String getTypeMIME(String s) { String s1 = new String(); int i = 0; i = s.indexOf("/"); if(i != -1) return s.substring(1, i); else return s; } private String getSubTypeMIME(String s) { String s1 = new String(); int i = 0; boolean flag = false; i = s.indexOf("/") + 1; if(i != -1) { int j = s.length(); return s.substring(i, j); } else { return s; } } private String getContentDisp(String s) { String s1 = new String(); int i = 0; int j = 0; i = s.indexOf(":") + 1; j = s.indexOf(";"); s1 = s.substring(i, j); return s1; } private void getDataSection() { boolean flag = false; String s = new String(); int i = m_currentIndex; int j = 0; int k = m_boundary.length(); m_startData = m_currentIndex; m_endData = 0; while(i < m_totalBytes) if(m_binArray[i] == (byte)m_boundary.charAt(j)) { if(j == k - 1) { m_endData = ((i - k) + 1) - 3; break; } i++; j++; } else { i++; j = 0; } m_currentIndex = m_endData + k + 3; } private String getDataHeader() { int i = m_currentIndex; int j = 0; boolean flag = false; for(boolean flag1 = false; !flag1;) if(m_binArray[m_currentIndex] == 13 && m_binArray[m_currentIndex + 2] == 13) { flag1 = true; j = m_currentIndex - 1; m_currentIndex = m_currentIndex + 2; } else { m_currentIndex++; } String s = new String(m_binArray, i, (j - i) + 1); return s; } private String getFileName(String s) { String s1 = new String(); String s2 = new String(); int i = 0; boolean flag = false; boolean flag1 = false; boolean flag2 = false; i = s.lastIndexOf('/'); if(i != -1) return s.substring(i + 1, s.length()); i = s.lastIndexOf('\\'); if(i != -1) return s.substring(i + 1, s.length()); else return s; } public void setDeniedFilesList(String s) throws ServletException, IOException, SQLException { String s1 = ""; if(s != null) { String s2 = ""; for(int i = 0; i < s.length(); i++) if(s.charAt(i) == ',') { if(!m_deniedFilesList.contains(s2)) m_deniedFilesList.addElement(s2); s2 = ""; } else { s2 = s2 + s.charAt(i); } if(s2 != "") m_deniedFilesList.addElement(s2); } else { m_deniedFilesList = null; } } public void setAllowedFilesList(String s) { String s1 = ""; if(s != null) { String s2 = ""; for(int i = 0; i < s.length(); i++) if(s.charAt(i) == ',') { if(!m_allowedFilesList.contains(s2)) m_allowedFilesList.addElement(s2); s2 = ""; } else { s2 = s2 + s.charAt(i); } if(s2 != "") m_allowedFilesList.addElement(s2); } else { m_allowedFilesList = null; } } public void setDenyPhysicalPath(boolean flag) { m_denyPhysicalPath = flag; } public void setForcePhysicalPath(boolean flag) { m_forcePhysicalPath = flag; } public void setContentDisposition(String s) { m_contentDisposition = s; } public void setTotalMaxFileSize(long l) { m_totalMaxFileSize = l; } public void setMaxFileSize(long l) { m_maxFileSize = l; } protected String getPhysicalPath(String s, int i) throws IOException { String s1 = new String(); String s2 = new String(); String s3 = new String(); boolean flag = false; s3 = System.getProperty("file.separator"); if(s == null) throw new IllegalArgumentException("There is no specified destination file (1140)."); if(s.equals("")) throw new IllegalArgumentException("There is no specified destination file (1140)."); if(s.lastIndexOf("\\") >= 0) { s1 = s.substring(0, s.lastIndexOf("\\")); s2 = s.substring(s.lastIndexOf("\\") + 1); } if(s.lastIndexOf("/") >= 0) { s1 = s.substring(0, s.lastIndexOf("/")); s2 = s.substring(s.lastIndexOf("/") + 1); } s1 = s1.length() != 0 ? s1 : "/"; java.io.File file = new java.io.File(s1); if(file.exists()) flag = true; if(i == 0) { if(isVirtual(s1)) { s1 = m_application.getRealPath(s1); if(s1.endsWith(s3)) s1 = s1 + s2; else s1 = s1 + s3 + s2; return s1; } if(flag) { if(m_denyPhysicalPath) throw new IllegalArgumentException("Physical path is denied (1125)."); else return s; } else { throw new IllegalArgumentException("This path does not exist (1135)."); } } if(i == 1) { if(isVirtual(s1)) { s1 = m_application.getRealPath(s1); if(s1.endsWith(s3)) s1 = s1 + s2; else s1 = s1 + s3 + s2; return s1; } if(flag) throw new IllegalArgumentException("The path is not a virtual path."); else throw new IllegalArgumentException("This path does not exist (1135)."); } if(i == 2) { if(flag) if(m_denyPhysicalPath) throw new IllegalArgumentException("Physical path is denied (1125)."); else return s; if(isVirtual(s1)) throw new IllegalArgumentException("The path is not a physical path."); else throw new IllegalArgumentException("This path does not exist (1135)."); } else { return null; } } public void uploadInFile(String s) throws IOException, SmartUploadException { int i = 0; int j = 0; boolean flag = false; if(s == null) throw new IllegalArgumentException("There is no specified destination file (1025)."); if(s.length() == 0) throw new IllegalArgumentException("There is no specified destination file (1025)."); if(!isVirtual(s) && m_denyPhysicalPath) throw new SecurityException("Physical path is denied (1035)."); i = m_request.getContentLength(); m_binArray = new byte[i]; int k; for(; j < i; j += k) try { k = m_request.getInputStream().read(m_binArray, j, i - j); } catch(Exception exception) { throw new SmartUploadException("Unable to upload."); } if(isVirtual(s)) s = m_application.getRealPath(s); try { File file = new File(s); FileOutputStream fileoutputstream = new FileOutputStream(file); fileoutputstream.write(m_binArray); fileoutputstream.close(); } catch(Exception exception1) { throw new SmartUploadException("The Form cannot be saved in the specified file (1030)."); } } private boolean isVirtual(String s) { if(m_application.getRealPath(s) != null) { File file = new File(m_application.getRealPath(s)); return file.exists(); } else { return false; } } protected byte m_binArray[]; protected HttpServletRequest m_request; protected HttpServletResponse m_response; protected ServletContext m_application; private int m_totalBytes; private int m_currentIndex; private int m_startData; private int m_endData; private String m_boundary; private long m_totalMaxFileSize; private long m_maxFileSize; private Vector m_deniedFilesList; private Vector m_allowedFilesList; private boolean m_denyPhysicalPath; private boolean m_forcePhysicalPath; private String m_contentDisposition; public static final int SAVE_AUTO = 0; public static final int SAVE_VIRTUAL = 1; public static final int SAVE_PHYSICAL = 2; private Files m_files; private Request m_formRequest;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -