java 文件上传接口写法
时间: 2023-10-08 12:09:42 浏览: 81
以下是一个简单的Java文件上传接口的代码示例:
```java
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
@WebServlet("/upload")
@MultipartConfig
public class FileUploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
// 获取上传的文件
Part filePart = request.getPart("file");
String fileName = Paths.get(filePart.getSubmittedFileName()).getFileName().toString();
// 保存文件到服务器
Path filePath = Paths.get("uploads", fileName);
try (InputStream fileContent = filePart.getInputStream()) {
Files.copy(fileContent, filePath);
}
// 返回上传成功的消息
response.getWriter().println("文件上传成功: " + fileName);
}
}
```
使用注解`@MultipartConfig`可以让Servlet处理Multipart/form-data类型的表单请求,支持文件上传。在`doPost`方法中,首先从请求中获取上传的文件,然后使用Java NIO API将文件保存到服务器上指定的目录中。最后,返回一个上传成功的消息给客户端。
阅读全文