使用 tomcat 10 的ServletFileUpload#parseRequest(request) 中的错误

如何解决使用 tomcat 10 的 ServletFileUpload#parseRequest(request) 中的错误?

正在开发一个简单的文件上传程序。我必须使用 jakarta.servlet.* 类,因为我使用的是 Tomcat v10。我在 parseRequest(request) 行上遇到编译时错误。

代码:

protected void doPost(HttpServletRequest request,HttpServletResponse response) throws servletexception,IOException {
        // Todo Auto-generated method stub
        ServletFileUpload sf = new ServletFileUpload(new diskFileItemFactory());
        try {
            List<FileItem> multifiles = sf.parseRequest(request);
            
            for(FileItem i : multifiles) {
                i.write(new File("C:/Users/Luffy/Documents/FileUploadDemo/"+i.getName()));
            }
            response.getWriter().print("The file is uploaded");
        } catch (Exception e) {
            // Todo Auto-generated catch block
            e.printstacktrace();
        } 
        response.getWriter().print("The file is uploaded");
    }

错误如下:

ServletFileUpload 类型中的 parseRequest(javax.servlet.http.HttpServletRequest) 方法不适用于参数 (jakarta.servlet.http.HttpServletRequest)

我在谷歌上搜索了很多,但找不到解决方案。

请提出解决方法或可能的解决方案。提前致谢。

这是我在堆栈溢出中的第一篇文章。所以如果有的话请忽略我的错误:)

解决方法

您正在尝试使用 commons-fileupload 中的 ServletFileUpload 类,该类不适用于 jakarta.servlet.http.HttpServletRequest。该库必须适用于 Servlet 5.0 类。

幸运的是,从 Servlet 3.0 (Tomcat 8.0) multipart/form-data 请求可以被 servlet 解析。你只需要:

try {
    final Collection<Part> parts = request.getParts();
    for (final Part part : parts) {
       part.write("C:/Users/Luffy/Documents/FileUploadDemo/"+part.getSubmittedFileName());
    }
    response.getWriter().print("The file has been uploaded successfully.");
} catch (Exception e) {
    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,"Upload failed.");
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇