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

📄 davuploadhandler.java

📁 这是linux下ssl vpn的实现程序
💻 JAVA
字号:
package com.sslexplorer.vfs.utils;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForward;
import org.apache.struts.upload.FormFile;

import com.sslexplorer.core.CoreServlet;
import com.sslexplorer.core.UploadHandler;
import com.sslexplorer.vfs.NetworkPlaceResourceType;
import com.sslexplorer.vfs.UploadDetails;
import com.sslexplorer.vfs.webdav.AbstractNetworkPlaceMount;
import com.sslexplorer.vfs.webdav.DAVResource;
import com.sslexplorer.vfs.webdav.DAVServlet;

public class DAVUploadHandler implements UploadHandler {

    public ActionForward performUpload(HttpServletRequest request, HttpServletResponse response, UploadDetails upload,
                                       FormFile uploadFile) throws Exception {

        /*
         * If an upload was attempted after session timeout, the login screen
         * would have interrupted the upload. In this case just go straight back
         * to the home page.
         */
        if (upload.getResourcePath() == null || upload.getResourcePath().length() == 0) {
            return upload.getUploadedForward();
        }

        if (uploadFile.getFileName() == null || uploadFile.getFileName().trim().equals("")) {
            return upload.getUploadedForward();
        }

        DAVResource res = DAVServlet.getDAVResource(request, response, upload.getResourcePath() + "/" + uploadFile.getFileName());

        try {
            InputStream in = uploadFile.getInputStream();
            OutputStream out = res.write();
            try {
                byte[] buf = new byte[4096];
                int read;
                while (true) {
                    read = in.read(buf, 0, buf.length);
                    if (read == -1) {
                        break;
                    }
                    out.write(buf, 0, read);
                }
            } finally {
                in.close();
                out.close();
            }
            return upload.getUploadedForward();
        } catch (Exception e) {
            /*
             * Close the stream so the client gets an error straight away rather
             * than having to wait for the file to upload
             */
            try {
                request.getInputStream().close();
            } catch (IOException ioe) {
                throw ioe;
            }
            throw e;
        }
    }
}

⌨️ 快捷键说明

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