Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在读取和保存文件之前响应多部分文件上载请求_Java_Http_Servlets_Jakarta Ee - Fatal编程技术网

Java 在读取和保存文件之前响应多部分文件上载请求

Java 在读取和保存文件之前响应多部分文件上载请求,java,http,servlets,jakarta-ee,Java,Http,Servlets,Jakarta Ee,是否可以在读取头之后,但在从请求主体读取文件数据并将其保存到临时文件之前,响应多部分/表单数据请求 我有一个文件上传servlet,它接受大文件,我更希望在加载整个文件之前能够处理来自请求头的任何预处理检查。例如,在处理和存储文件之前,我需要检查用户是否通过了会话的身份验证。在发送响应之前,我似乎必须调用request.getPart()或任何解析请求正文的方法,否则浏览器不会处理响应。问题在于,对于多部分/表单数据请求,request.getPart()解析正文,同时读取文件数据并将其存储到磁

是否可以在读取头之后,但在从请求主体读取文件数据并将其保存到临时文件之前,响应多部分/表单数据请求

我有一个文件上传servlet,它接受大文件,我更希望在加载整个文件之前能够处理来自请求头的任何预处理检查。例如,在处理和存储文件之前,我需要检查用户是否通过了会话的身份验证。在发送响应之前,我似乎必须调用
request.getPart()
或任何解析请求正文的方法,否则浏览器不会处理响应。问题在于,对于多部分/表单数据请求,
request.getPart()
解析正文,同时读取文件数据并将其存储到磁盘上的临时文件中

在从请求主体加载文件之前,如何仅读取头并发送响应

以下是一个例子:

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // check session (header cookie)
    if (!isAuthenticated(request)) {
        // This does not work before reading body
        forwardLogin(request, response);
        return;
    }

    // Actually parse request body and save the data to a temporary file on disk
    Part filePart = request.getPart("file");

    // process file
}

为什么?即使有可能,它也不会改变任何东西,因为客户端在完成发送请求之前不会读取响应。这方面的实际业务案例或要求是什么?