Java如何从HttpServletRequest里边获取上传文件
要从HttpServletRequest中获取上传文件,可以通过以下步骤:
-
首先,确保在HTML表单中设置了enctype属性为"multipart/form-data",以支持文件上传。
-
在Java Servlet中,使用request.getPart()方法获取上传文件的Part对象。例如,假设表单中有一个name为"file"的文件上传字段,可以使用以下代码获取该文件的Part对象:
Part filePart = request.getPart("file");
- 然后,可以通过Part对象获取上传文件的相关信息,如文件名、大小等。例如:
String fileName = filePart.getSubmittedFileName();
long fileSize = filePart.getSize();
- 最后,如果需要将文件保存到服务器的某个目录中,可以使用Part对象的write()方法将文件写入目标路径。例如:
String savePath = "目标路径";
filePart.write(savePath + File.separator + fileName);
完整的示例代码如下:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取上传文件的Part对象
Part filePart = request.getPart("file");
// 获取文件信息
String fileName = filePart.getSubmittedFileName();
long fileSize = filePart.getSize();
// 保存文件到服务器目录
String savePath = "目标路径";
filePart.write(savePath + File.separator + fileName);
}
注意:以上代码是基于Servlet 3.0规范的,如果你使用的是低版本的Servlet容器,可以考虑使用第三方的文件上传组件,如Apache Commons FileUpload
原文地址: http://www.cveoy.top/t/topic/iDUE 著作权归作者所有。请勿转载和采集!