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

📄 fileuploadapplet.java

📁 找了很久才找到到源代码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
                filePath = filePath.substring(rootDirLength);
                filePath = filePath.replace('\\', '/');
                fileNames.add(filePath);
            }
        }
    }

    /**
     * @see java.applet.Applet#init()
     */
    public void init() {

        // has to be first before any gui components are created
        if (getParameter("overwriteDialogLocale") != null) {
            m_overwriteDialogLocale = getParameter("overwriteDialogLocale");
            Locale wpLocale = new Locale(m_overwriteDialogLocale);
            setLocale(wpLocale);
        }

        m_opencms = getParameter("opencms");
        m_targetUrl = getParameter("target");
        m_redirectUrl = getParameter("redirect");
        m_redirectTargetFrame = getParameter("targetframe");
        if ((m_redirectTargetFrame == null) || m_redirectTargetFrame.equals("")) {
            m_redirectTargetFrame = "explorer_files";
        }
        m_errorUrl = getParameter("error");
        m_uploadFolder = getParameter("filelist");
        m_fileFilterSelection = getParameter("filefilterselection");
        String tmpSize = getParameter("maxsize");
        if ((tmpSize != null) && (tmpSize.length() > 0)) {
            m_maxsize = Long.parseLong(tmpSize);
        }
        m_fileExtensions = getParameter("fileExtensions");
        m_colors = extractColors(getParameter("colors"));

        // setup the applet output
        m_font = new java.awt.Font(null, Font.BOLD, 12);
        m_metrics = getFontMetrics(m_font);
        m_source = getImage(getCodeBase(), "org/opencms/applet/upload/applet_source.png");
        m_target = getImage(getCodeBase(), "org/opencms/applet/upload/applet_target.png");
        m_floater = getImage(getCodeBase(), "org/opencms/applet/upload/floater.gif");

        // get the output massages in the correct language
        if (getParameter("actionOutputSelect") != null) {
            m_actionOutputSelect = getParameter("actionOutputSelect");
        }
        if (getParameter("actionOutputCount") != null) {
            m_actionOutputCount = getParameter("actionOutputCount");
        }
        if (getParameter("actionOutputCreate") != null) {
            m_actionOutputCreate = getParameter("actionOutputCreate");
        }
        if (getParameter("actionOverwriteCheck") != null) {
            m_actionOverwriteCheck = getParameter("actionOverwriteCheck");
        }
        if (getParameter("actionOutputUpload") != null) {
            m_actionOutputUpload = getParameter("actionOutputUpload");
        }
        if (getParameter("actionOutputError") != null) {
            m_actionOutputError = getParameter("actionOutputError");
        }
        if (getParameter("messageOutputUpload") != null) {
            m_messageOutputUpload = getParameter("messageOutputUpload");
        }
        if (getParameter("messageOutputAdding") != null) {
            m_messageOutputAdding = getParameter("messageOutputAdding");
        }
        if (getParameter("messageOutputErrorZip") != null) {
            m_messageOutputErrorZip = getParameter("messageOutputErrorZip");
        }
        if (getParameter("messageOutputErrorSize") != null) {
            m_messageOutputErrorSize = getParameter("messageOutputErrorSize");
        }
        if (getParameter("messageNoPreview") != null) {
            m_messageNoPreview = getParameter("messageNoPreview");
        }
        if (getParameter("errorLine1") != null) {
            m_errorLine1 = getParameter("errorLine1");
        }
        if (getParameter("certificateErrorTitle") != null) {
            m_certificateErrorTitle = getParameter("certificateErrorTitle");
        }
        if (getParameter("certificateErrorMessage") != null) {
            m_certificateErrorMessage = getParameter("certificateErrorMessage");
        }
        if (getParameter("overwriteDialogTitle") != null) {
            m_overwriteDialogTitle = getParameter("overwriteDialogTitle");
        }
        if (getParameter("overwriteDialogIntro") != null) {
            m_overwriteDialogIntro = getParameter("overwriteDialogIntro");
        }
        if (getParameter("overwriteDialogCancel") != null) {
            m_overwriteDialogCancel = getParameter("overwriteDialogCancel");
        }
        if (getParameter("overwriteDialogOk") != null) {
            m_overwriteDialogOk = getParameter("overwriteDialogOk");
        }
        if (getParameter("clientFolder") != null) {
            m_clientFolder = getParameter("clientFolder");
        }

        m_certificateAccepted = true;
        try {
            // set log factory to default log factory, otherwise commons logging detection will fail with an exception 
            System.setProperty(
                org.apache.commons.logging.LogFactory.FACTORY_PROPERTY,
                org.apache.commons.logging.LogFactory.FACTORY_DEFAULT);
        } catch (SecurityException e) {
            // this indicates the applet certificate has not been accepted
            m_certificateAccepted = false;
            e.printStackTrace();
        }
    }

    /**
     * Move the floating upload image to right, wrap around on right side.<p>
     */
    public void moveFloater() {

        m_floaterPos += 10;
        if ((m_floaterPos) > 430) {
            m_floaterPos = 50;
        }
        repaint();
    }

    /**
     * @see java.awt.Component#paint(Graphics)
     */
    public void paint(Graphics g) {

        // create the box
        m_offscreen = createImage(getSize().width, getSize().height);
        m_offgraphics = m_offscreen.getGraphics();
        m_offgraphics.setColor(getColor("bgColor"));
        m_offgraphics.fillRect(0, 0, getSize().width, getSize().height);
        m_offgraphics.setColor(getColor("outerBorderRightBottom"));
        m_offgraphics.drawLine(0, getSize().height - 1, getSize().width - 1, getSize().height - 1);
        m_offgraphics.drawLine(getSize().width - 1, 0, getSize().width - 1, getSize().height - 1);
        m_offgraphics.setColor(getColor("outerBorderLeftTop"));
        m_offgraphics.drawLine(0, 0, getSize().width - 1, 0);
        m_offgraphics.drawLine(0, 0, 0, getSize().height - 1);
        m_offgraphics.setColor(getColor("innerBorderRightBottom"));
        m_offgraphics.drawLine(1, getSize().height - 2, getSize().width - 2, getSize().height - 2);
        m_offgraphics.drawLine(getSize().width - 2, 1, getSize().width - 2, getSize().height - 2);
        m_offgraphics.setColor(getColor("innerBorderLeftTop"));
        m_offgraphics.drawLine(1, 1, getSize().width - 2, 1);
        m_offgraphics.drawLine(1, 1, 1, getSize().height - 2);
        m_offgraphics.setColor(getColor("bgHeadline"));
        m_offgraphics.fillRect(4, 4, getSize().width - 5, 18);

        m_offgraphics.setColor(getColor("innerBorderRightBottom"));
        m_offgraphics.drawLine(10, getSize().height - 11, getSize().width - 11, getSize().height - 11);
        m_offgraphics.drawLine(getSize().width - 11, 25, getSize().width - 11, getSize().height - 11);
        m_offgraphics.setColor(getColor("innerBorderLeftTop"));
        m_offgraphics.drawLine(10, 25, getSize().width - 11, 25);
        m_offgraphics.drawLine(10, 25, 10, getSize().height - 11);

        // draw title
        int cx = 10;
        int cy = 17;
        m_offgraphics.setFont(m_font);
        m_offgraphics.setColor(getColor("colorHeadline"));
        m_offgraphics.drawString(m_action, cx, cy);

        m_offgraphics.setColor(getColor("colorText"));
        // draw process message
        if (m_outputMode >= 3) {
            cx = Math.max((getSize().width - m_metrics.stringWidth(m_message)) / 2, 0);
        } else {
            cx = 25;
        }
        cy = 41;
        m_offgraphics.drawString(m_message, cx, cy);

        // draw process bar during zip creation
        if (m_outputMode == 2) {
            float bar = new Float(m_step).floatValue() / new Float(m_resources).floatValue();
            String barText = "(" + m_step + " / " + m_resources + ")";
            m_offgraphics.drawRect(25, 50, 450, 20);
            m_offgraphics.setColor(Color.white);
            m_offgraphics.fillRect(26, 51, 449, 19);
            m_offgraphics.setColor(getColor("progessBar"));
            m_offgraphics.fillRect(26, 51, new Float(bar * 449).intValue(), 19);
            int progressWith = m_metrics.stringWidth(barText);
            cx = Math.max((getSize().width - progressWith) / 2, 0);
            cy = 64;
            m_offgraphics.setColor(Color.black);
            m_offgraphics.drawString(barText, cx, cy);
        }

        // show floater during upload
        if (m_outputMode == 3) {
            m_offgraphics.drawImage(m_floater, m_floaterPos, 57, this);
            m_offgraphics.drawImage(m_source, 30, 47, this);
            m_offgraphics.drawImage(m_target, 440, 47, this);
        }

        // copy the offcreen graphics to the applet
        g.drawImage(m_offscreen, 0, 0, null);
    }

    private List parseDuplicateFiles(String responseBodyAsString) {

        List result = new ArrayList();
        LineNumberReader reader = new LineNumberReader(new InputStreamReader(new ByteArrayInputStream(
            responseBodyAsString.getBytes())));
        try {
            String trim;
            for (String read = reader.readLine(); read != null; read = reader.readLine()) {
                trim = read.trim();
                if (!(trim.equals("") || trim.equals("\n"))) {
                    // empty strings could happen if the serverside jsp is edited and has new unwanted linebreaks
                    result.add(read);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result;
    }

    /**
     * @see java.lang.Runnable#run()
     */
    public void run() {

        try {
            boolean ok = true;
            while (ok) {
                ok = true;

                m_message = "";
                m_resources = 0;
                m_step = 0;
                // create a new file chooser

                if (m_fileSelector == null) {
                    m_fileSelector = new UploadAppletFileChooser(this);
                }

                // file selector can read files and folders
                m_fileSelector.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

                m_fileSelector.setDialogTitle(m_actionOutputSelect);

                FileFilter imageFilter = new ImageFilter();
                FileFilter officeFilter = new OfficeFilter();
                FileFilter webFilter = new WebFilter();

                // add two custom file filters (office and images) and the default filters
                m_fileSelector.addChoosableFileFilter(imageFilter);
                m_fileSelector.addChoosableFileFilter(officeFilter);
                m_fileSelector.addChoosableFileFilter(webFilter);

                m_fileSelector.setAcceptAllFileFilterUsed(true);
                // enable multi-selection of files
                m_fileSelector.setMultiSelectionEnabled(true);
                // add custom icons for file types.
                m_fileSelector.setFileView(new ImageFileView(m_opencms, m_fileExtensions));
                // add the image preview pane.
                m_fileSelector.setAccessory(new ImagePreview(m_fileSelector, m_messageNoPreview));
                if ((m_clientFolder != null) && !m_clientFolder.trim().equals("")) {
                    File clientFolder = new File(m_clientFolder);
                    if (clientFolder.exists() && clientFolder.isDirectory()) {
                        m_fileSelector.setCurrentDirectory(clientFolder);
                    }
                }

                m_action = m_actionOutputSelect;

                // pre - selection of the filter: 
                if ((m_fileFilterSelection != null) && !m_fileFilterSelection.trim().equals("")) {
                    if (WebFilter.FILTER_ID.equals(m_fileFilterSelection)) {
                        m_fileSelector.setFileFilter(webFilter);
                    } else if (OfficeFilter.FILTER_ID.equals(m_fileFilterSelection)) {
                        m_fileSelector.setFileFilter(officeFilter);
                    } else if (ImageFilter.FILTER_ID.equals(m_fileFilterSelection)) {
                        m_fileSelector.setFileFilter(imageFilter);
                    }
                }
                repaint();
                m_overwrites = new ArrayList();
                int returnVal = m_fileSelector.showDialog(this, "OK");

                // process the results.
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    // count all resources
                    m_outputMode = 1;
                    m_action = m_actionOutputCount;
                    repaint();

                    File[] files = m_fileSelector.getSelectedFiles();
                    List fileNames = new ArrayList();
                    for (int i = 0; i < files.length; i++) {
                        getRelativeFilePaths(files[i], fileNames);
                    }

                    if (m_overwrites.size() > 0) {
                        // subtract all duplicate files first
                        files = subtractDuplicates(fileNames, m_overwrites);

⌨️ 快捷键说明

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