⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smartupload.java

📁 绝对很好的jsp学习资料
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        String s2 = new String();
        String s3 = new String();
        int i = 0;
        boolean flag = false;
        boolean flag1 = false;
        boolean flag2 = false;
        s2 = s1 + "=" + '"';
        i = s.indexOf(s2);
        if(i > 0)
        {
            int j = i + s2.length();
            int k = j;
            s2 = "\"";
            int l = s.indexOf(s2, j);
            if(k > 0 && l > 0)
                s3 = s.substring(k, l);
        }
        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(46) + 1;
        j = s.length();
        s1 = s.substring(i, j);
        if(s.lastIndexOf(46) > 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(47);
        if(i != -1)
            return s.substring(i + 1, s.length());
        i = s.lastIndexOf(92);
        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 : "/";
        File file = new 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;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -