gpt4 book ai didi

java - Apache Commons Fileupload/Tomcat 无法处理 out.flush()

转载 作者:行者123 更新时间:2023-12-04 07:02:45 25 4
gpt4 key购买 nike

有谁知道一种解决方法,如果您尝试刷新 servlet 输出流,apache commons fileupload 会引发以下异常?

FileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly

基本上我有代码循环使用 apache commons fileupload 上传的每个文件,然后我尝试 out.flush()关于每个文件的一些统计信息。 IE:
    FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = upload.parseRequest(request);

for(FileItem field : items) {
if (!field.isFormField() && field.getName().length()>0 && field.getName().getSize()>0) {
ArticleImport helper = new ArticleImport(new ArticleImportResponder(user,out));
// This helper object uses out.flush() to provide feedback to the user.
helper.process(field.getInputStream(), user);
}
}
}

该问题在 Apache Tomcat 6.0.20 中不会出现,但在早期版本中会出现。

最佳答案

不幸的是,这是一个已知的错误,除了确保您使用至少 6.0.20 之外,您无能为力。

您可以检测正在运行的 tomcat 版本并使用它来确定是否可以使用以下调用使用 out.flush():

javax.servlet.ServletContext.getServerInfo();

关于java - Apache Commons Fileupload/Tomcat 无法处理 out.flush(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1586843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com