在Java中實現文件上傳功能有多種方式,下面介紹一種常見的方式:
<!DOCTYPE html>
<html>
<head>
<title>文件上傳</title>
</head>
<body>
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="上傳" />
</form>
</body>
</html>
import java.io.File;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.WebServlet;
import org.apache.commons.io.FileUtils;
@WebServlet("/upload")
public class UploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 獲取上傳的文件
Part filePart = request.getPart("file");
// 獲取文件名
String fileName = filePart.getSubmittedFileName();
// 指定保存文件的路徑
String savePath = "路徑";
// 將文件保存到指定路徑
File file = new File(savePath, fileName);
FileUtils.copyInputStreamToFile(filePart.getInputStream(), file);
// 返回上傳成功的信息
response.getWriter().println("文件上傳成功");
}
}
以上代碼使用了Servlet 3.0的API來處理文件上傳,需要在web.xml或使用注解@WebServlet配置Servlet。在doPost方法中,首先通過request.getPart方法獲取到上傳的文件,然后獲取文件名和文件保存路徑,最后使用Apache Commons IO庫將文件保存到指定路徑。