`
lanxia39
  • 浏览: 29852 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

源碼收藏

J# 
阅读更多
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;
            }
        }
    }

分享到:
评论

相关推荐

    javascript经典源码收藏

    "javascript经典源码收藏"这个主题涵盖了CSS、JavaScript特效以及日期控件等关键知识点,这些都是构建现代网页应用不可或缺的部分。 首先,CSS(Cascading Style Sheets)是用于控制网页样式和布局的样式表语言。在...

    易语言源码收藏专家2.0.rar

    《易语言源码收藏专家2.0》是一款专为易语言爱好者和开发者设计的源码管理工具,旨在帮助用户高效地收集、整理和管理易语言编程的源代码。这款软件的核心功能包括源码分类、搜索、查看、编辑以及版本控制等,是提升...

    vb源码收藏工具收集器(很好用).rar

    这个“vb源码收藏工具收集器”显然是一款专为VB程序员设计的应用,用于管理和整理从各种渠道获取的VB源代码,帮助开发者更好地组织和分类他们的代码资源。 首先,我们来谈谈VB源码的重要性。在编程过程中,源码是...

    PB源码收藏,非常难得:ASA数据库自动注册源码,是PB开发ASA数据库自动注册源码的利器。

    本资源名为“PB源码收藏,非常难得:ASA数据库自动注册源码”,这表明它提供了一种特殊的功能——自动注册ASA数据库。在开发过程中,数据库的注册通常涉及创建数据库连接、设置连接参数、验证连接等步骤。自动注册...

    C#经典功能源码收藏集锦

    "C#经典功能源码收藏集锦"是一个宝贵的资源,它包含了多种常见的C#功能实现,为初学者提供了丰富的学习材料。这个压缩包文件就像一个宝库,等待着开发者去发掘和学习。下面将详细阐述其中可能包含的一些核心知识点。...

    易语言源码收藏夹小工具.rar

    "易语言源码收藏夹小工具.rar"是一个包含易语言源代码的压缩包,可能是为了帮助用户整理、收集和管理他们的易语言代码片段或小型程序。 这个小工具可能包括以下功能: 1. **源码管理**:用户可以创建、编辑、删除和...

    易语言源码收藏夹小工具.7z

    "易语言源码收藏夹小工具.7z"是一个压缩包,其中包含了易语言的源代码文件,很可能是用于创建一个便于管理和组织源代码的实用工具。 这个小工具可能包含以下几个方面的知识点: 1. **易语言基础**:易语言的核心...

    俄罗斯方块 源码 收藏的一个经典的C++程序

    【标题】:“俄罗斯方块 源码 收藏的一个经典的C++程序” 【描述】:“俄罗斯方块 源码 收藏的一个经典的C++程序” 这个标题和描述揭示了一个关于经典游戏“俄罗斯方块”的源代码,它是由C++编程语言实现的。在IT...

    大盈网吧主页源码收藏版

    大盈网吧主页源码个人收藏版 大盈网吧主页源码个人收藏版

    oschina android app 2.2.1 源码收藏

    《深入剖析OSChina Android App 2.2.1 源码》 在移动开发领域,Android应用的源码分析是提升技术能力、学习最佳实践的重要途径。本篇将聚焦于OSChina Android App 2.2.1版本的源码,通过对源码的详细解析,揭示其...

    "我的导航"网址收藏夹源码 v1.0.rar

    【我的导航】网址收藏夹源码 v1.0 是一个基于ASP技术开发的网页收藏管理平台,用于构建个性化和实用的网址导航站点。这个源码允许用户保存、管理和分享他们的常用网址,为用户提供了一个便捷的方式来组织和访问...

    ASP源码—网络收藏夹源码.zip

    网络收藏夹源码是一个基于ASP技术实现的网站应用,它允许用户在线保存、管理和分享他们的网址收藏,类似于浏览器的收藏夹功能,但提供了更便捷的跨设备访问和分享选项。 在"ASP源码—网络收藏夹源码.zip"这个压缩包...

    PHP网址导航源码

    · 用户注册及自定义网址收藏夹功能,留住用户 · 点入来路自动统计排行功能,流量返还,方便推广 · 全站生成HTML · 自定义生成HTML的目录和文件名,将SEO进行到底 · 超强内核引擎,生成全站HTML只需要几分钟 · 数据...

    Qt精美自定义控件 十套demo源码

    通过学习和实践这些自定义控件的源码,初学者能够掌握Qt的事件处理、绘图机制、样式设计和动画原理等核心技能。此外,对于更高级的开发者,这些源码也提供了优化性能、实现复杂交互或设计自定义UI组件的参考。不断...

    Winform+SQLite 图书管理系统(cs)+源码

    今天的分享是一款之前收集的 C# Winform+SQLite 图书管理系统,数据库使用SQLite,代码清晰、注释完善、简单易读,界面美观大气,非常适合初学者学习或有相应软件需求的二次开发借鉴、源码收藏。 该图书管理系统使用...

    毕设必下C# Winform+SQLServer 图书管理系统+源码+DB+账号密码

    C# Winform 图书管理系统,数据库使用SQLServer,源码功能实用,使用经典MVC分层模式,代码清晰、注释完整,非常适合初学者学习或有相应软件需求的二次开发借鉴、源码收藏。 该源码包含各数据表完整的增删改查功能...

    ASP源码—网址收藏夹程序 1.0.zip

    这个"ASP源码—网址收藏夹程序 1.0.zip"是一个基于ASP技术的程序,它允许用户在线保存、管理和分享他们的网络书签或收藏夹。下面将详细介绍ASP的基本概念、工作原理以及如何理解这个网址收藏夹程序。 ASP的工作原理...

Global site tag (gtag.js) - Google Analytics