【发布时间】:2023-04-02 22:24:02
【问题描述】:
一般来说,我需要通过调用 servlet 的 html 表单上传一个大文件,然后使用繁重的算法操作该文件并返回一个 xml 文档作为响应。
这整个过程需要很多时间,所以为了避免浏览器超时连接,我决定创建一个对象(扩展Thread),它将执行耗时的过程(上传文件并操作它)在不同的线程,这将能够指示进程的进度。为此,我需要将HttpServletRequest 请求作为参数传递给对象。
当我尝试解析请求参数时(我使用的是apache commons FileUpload),我得到了以下异常:
"the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is null" .
是否可以将HttpServletRequest 对象传递给扩展线程的对象?如果是这样,安全的正确做法是什么?
【问题讨论】:
-
您的 html 表单是否包含值为
multipart/form-data的 enctype 属性? -
是的。我可以在 doPost 方法中轻松完成,问题是当我将请求作为参数传递时。
标签: java multithreading servlets