如果没有导入javax.servlet.http.Part类,可以使用request.getInputStream()来获取上传文件的内容,并将其转换为java.io.File对象。以下是一个示例代码:

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

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/upload")
public class UploadServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        InputStream inputStream = request.getInputStream();
        File file = null;
        try {
            file = File.createTempFile("uploadedFile", ".tmp");
            OutputStream outputStream = new FileOutputStream(file);
            byte[] buffer = new byte[4096];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }
            outputStream.flush();
            outputStream.close();
        } finally {
            if (inputStream != null) {
                inputStream.close();
            }
        }
        
        // 在这里可以使用file对象进行其它操作
    }
}

在上述示例中,doPost方法从HttpServletRequest对象中获取输入流inputStream,然后将其内容写入一个临时文件file中。你可以根据自己的需求进行进一步处理。请注意,在处理完文件后,需要在适当的时候删除临时文件,以免占用过多的磁盘空间

Java如何从HttpServletRequest里边获取上传文件只需要获取File对象不需要保存没有import javaxservlethttpPart;这个类

原文地址: https://www.cveoy.top/t/topic/iDVe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录