javeweb源码

  • axxdxf
    了解作者
  • Java
    开发工具
  • 2.1MB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 3 积分
    下载积分
  • 0
    下载次数
  • 2022-05-28 14:52
    上传日期
没有sql文件初学者初学者初学者初学者初学者初学者
wldc.zip
内容介绍
package com.itbaizhan.smartupload; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Vector; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; public class SmartUpload { 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 SmartFiles m_files; private SmartRequest m_formRequest; public SmartUpload() { m_totalBytes = 0; m_currentIndex = 0; m_startData = 0; m_endData = 0; m_boundary = ""; //new String(); m_totalMaxFileSize = 0L; m_maxFileSize = 0L; m_deniedFilesList = new Vector(); m_allowedFilesList = new Vector(); m_denyPhysicalPath = false; //m_forcePhysicalPath = false; m_contentDisposition = ""; //new String(); m_files = new SmartFiles(); m_formRequest = new SmartRequest(); } /** * @deprecated Method init is deprecated */ public final void init(ServletConfig servletconfig) throws ServletException { m_application = servletconfig.getServletContext(); } /** * @deprecated Method service is deprecated */ public void service(HttpServletRequest httpservletrequest,HttpServletResponse httpservletresponse) throws ServletException,IOException { m_request = httpservletrequest; m_response = httpservletresponse; } public final void initialize(ServletConfig servletconfig,HttpServletRequest httpservletrequest,HttpServletResponse httpservletresponse) throws ServletException { m_application = servletconfig.getServletContext(); m_request = httpservletrequest; m_response = httpservletresponse; } public final void initialize(PageContext pagecontext) throws ServletException { m_application = pagecontext.getServletContext(); m_request = (HttpServletRequest)pagecontext.getRequest(); m_response = (HttpServletResponse)pagecontext.getResponse(); } /** * @deprecated Method initialize is deprecated */ public final void initialize(ServletContext servletcontext,HttpSession httpsession,HttpServletRequest httpservletrequest,HttpServletResponse httpservletresponse,JspWriter jspwriter) throws ServletException { m_application = servletcontext; m_request = httpservletrequest; m_response = httpservletresponse; } public void upload() throws ServletException,IOException,SmartUploadException { int i = 0; //boolean flag = false; boolean flag1 = false; //boolean flag2 = false; long l = 0L; //String s = "";//new String(); //String s2 = "";//new String(); String s4 = ""; //new String(); String s5 = ""; //new String(); String s6 = ""; //new String(); String s7 = ""; //new String(); String s8 = ""; //new String(); String s9 = ""; //new String(); String s10 = ""; //new String(); m_totalBytes = m_request.getContentLength(); m_binArray = new byte[m_totalBytes]; int j; for(;i < m_totalBytes;i += j) { try { m_request.getInputStream(); j = m_request.getInputStream().read(m_binArray,i,m_totalBytes - i); } catch(Exception exception) { throw new SmartUploadException("Unable to upload."); } } for(;!flag1 && m_currentIndex < m_totalBytes;m_currentIndex++) { if(m_binArray[m_currentIndex] == 13) { flag1 = true; } else { m_boundary = m_boundary + (char)m_binArray[m_currentIndex]; } } if(m_currentIndex == 1) { return; } for(m_currentIndex++;m_currentIndex < m_totalBytes;m_currentIndex = m_currentIndex + 2) { String s1 = getDataHeader(); m_currentIndex = m_currentIndex + 2; boolean flag3 = s1.indexOf("filename") > 0; String s3 = getDataFieldValue(s1,"name"); if(flag3) { s6 = getDataFieldValue(s1,"filename"); s4 = getFileName(s6); s5 = getFileExt(s4); s7 = getContentType(s1); s8 = getContentDisp(s1); s9 = getTypeMIME(s7); s10 = getSubTypeMIME(s7); } getDataSection(); if(flag3 && s4.length() > 0) { if(m_deniedFilesList.contains(s5)) { throw new SecurityException("The extension of the file is denied to be uploaded (1015)."); } if(!m_allowedFilesList.isEmpty() && !m_allowedFilesList.contains(s5)) { throw new SecurityException("The extension of the file is not allowed to be uploaded (1010)."); } if(m_maxFileSize > 0L && (long)((m_endData - m_startData) + 1) > m_maxFileSize) { throw new SecurityException("Size exceeded for this file : " + s4 + " (1105)."); } l += (m_endData - m_startData) + 1; if(m_totalMaxFileSize > 0L && l > m_totalMaxFileSize) { throw new SecurityException("Total File Size exceeded (1110)."); } } if(flag3) { SmartFile file = new SmartFile(); file.setParent(this); file.setFieldName(s3); file.setFileName(s4); file.setFileExt(s5); file.setFilePathName(s6); file.setIsMissing(s6.length() == 0); file.setContentType(s7); file.setContentDisp(s8); file.setTypeMIME(s9); file.setSubTypeMIME(s10); if(s7.indexOf("application/x-macbinary") > 0) { m_startData = m_startData + 128; } file.setSize((m_endData - m_startData) + 1); file.setStartData(m_startData); file.setEndData(m_endData); m_files.addFile(file); } else { String s11 = new String(m_binArray,m_startData,(m_endData - m_startData) + 1); m_formRequest.putParameter(s3,s11); } if((char)m_binArray[m_currentIndex + 1] == '-') { break; } } } public int save(String s) throws ServletExcep
评论
    相关推荐