以下是一个简单的 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() 方法将文件保存到指定的目录中。最后,我们向客户端返回一个简单的消息来表示文件上传成功。

Java 文件上传代码示例 - 简单易懂

原文地址: https://www.cveoy.top/t/topic/lXfR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录