Java怎么实现文件上传
时间: 2024-05-05 13:20:45 浏览: 120
Java 实现文件上传可以使用 Servlet 的 API ,以下是一个简单的实现:
1. 首先在 HTML 表单中添加一个文件上传的 input 标签。
```html
<form action="FileUploadServlet" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="上传" />
</form>
```
2. 编写 Servlet 文件上传的处理代码,使用 Part 类实现文件上传。
```java
@WebServlet("/FileUploadServlet")
@MultipartConfig
public class FileUploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// 获取上传的文件
Part part = request.getPart("file");
// 获得文件名
String fileName = part.getSubmittedFileName();
// 保存文件到指定路径
part.write("保存路径/" + fileName);
out.println("上传成功!");
}
}
```
3. 部署项目并启动服务器,在浏览器中访问上传页面,选择文件并点击上传按钮,服务器会将文件保存到指定路径。
注意,这里的 `@MultipartConfig` 注解是必须的,它告诉 Servlet 容器该 Servlet 需要接收文件上传。同时在 web.xml 中也需要配置该 Servlet。
```xml
<servlet>
<servlet-name>FileUploadServlet</servlet-name>
<servlet-class>FileUploadServlet</servlet-class>
<multipart-config>
<location>保存路径</location>
<max-file-size>5242880</max-file-size>
<max-request-size>10485760</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
</servlet>
<servlet-mapping>
<servlet-name>FileUploadServlet</servlet-name>
<url-pattern>/FileUploadServlet</url-pattern>
</servlet-mapping>
```
阅读全文