📅  最后修改于: 2023-12-03 15:23:27.586000             🧑  作者: Mango
在Web开发过程中,文件上传是非常常见的功能,本文将介绍如何在Servlet中将文件上传到服务器。
首先,我们要建立一个包含文件上传功能的HTML表单,表单的enctype属性需要设置为”multipart/form-data”,并且要有一个name属性为”file”的文件上传控件。
<form action="UploadServlet" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
接下来是处理上传文件的Servlet代码,我们需要通过request.getPart()方法获取上传的文件,然后使用IO流保存到服务器的指定位置。
@WebServlet("/UploadServlet")
@MultipartConfig
public class UploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取上传的文件
Part part = request.getPart("file");
// 文件保存路径
String savePath = request.getServletContext().getRealPath("/upload/");
// 创建目录
File file = new File(savePath);
if (!file.exists()) {
file.mkdirs();
}
// 获取文件名
String fileName = part.getSubmittedFileName();
// 保存文件
part.write(savePath + fileName);
}
}
在Servlet中将文件上传到服务器可以通过request.getPart()方法来获取上传的文件和Part对象,然后将Part对象保存到服务器即可。上传文件时需要注意文件保存的路径和文件名是否重复等问题。