Java 文件上传代码示例 - 简单易懂
以下是一个简单的 Java 上传文件的示例代码:
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.UUID;
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 {
// 获取上传的文件
Part filePart = request.getPart('file');
String fileName = filePart.getSubmittedFileName();
InputStream fileContent = filePart.getInputStream();
// 生成一个唯一的文件名
String uniqueFileName = UUID.randomUUID().toString() + '_' + fileName;
// 保存文件
Files.copy(fileContent, Paths.get("/path/to/upload/dir/" + uniqueFileName));
// 返回上传成功的消息
response.getWriter().write('Upload success: ' + fileName + ' -> ' + uniqueFileName);
}
}
在这个示例中,我们使用了 Servlet 3.0 中的 @MultipartConfig 注解来指示这个 Servlet 接受文件上传。在 doPost() 方法中,我们使用 request.getPart() 方法来获取上传的文件,然后使用 Files.copy() 方法将文件保存到指定的目录中。最后,我们向客户端返回一个简单的消息来表示文件上传成功。
原文地址: https://www.cveoy.top/t/topic/lXfR 著作权归作者所有。请勿转载和采集!