在Java中实现文件上传功能有多种方式,下面介绍一种常见的方式:
- 创建一个HTML表单页面,用于用户选择要上传的文件:
文件上传
- 在服务器端创建一个Servlet或Controller类,处理文件上传请求:
import java.io.File; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.annotation.WebServlet; import org.apache.commons.io.FileUtils; @WebServlet("/upload") public class UploadServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取上传的文件 Part filePart = request.getPart("file"); // 获取文件名 String fileName = filePart.getSubmittedFileName(); // 指定保存文件的路径 String savePath = "路径"; // 将文件保存到指定路径 File file = new File(savePath, fileName); FileUtils.copyInputStreamToFile(filePart.getInputStream(), file); // 返回上传成功的信息 response.getWriter().println("文件上传成功"); } }
以上代码使用了Servlet 3.0的API来处理文件上传,需要在web.xml或使用注解@WebServlet配置Servlet。在doPost方法中,首先通过request.getPart方法获取到上传的文件,然后获取文件名和文件保存路径,最后使用Apache Commons IO库将文件保存到指定路径。