上一篇
Java实现服务器文件上传和保存操作 (java 保存上传 文件到服务器)
- 行业动态
- 2024-04-14
- 1
解析
在Java中,我们可以使用Servlet和JSP来实现服务器文件上传和保存操作,具体步骤如下:
1、创建一个HTML表单,用于用户选择要上传的文件。
2、创建一个Servlet,用于处理文件上传请求。
3、在Servlet中,获取上传的文件,并将其保存到服务器的指定目录。
4、创建一个JSP页面,用于显示文件上传成功的信息。
代码实现
1、创建HTML表单(upload.html)
<!DOCTYPE html> <html> <head> <meta charset="UTF8"> <title>文件上传</title> </head> <body> <form action="UploadServlet" method="post" enctype="multipart/formdata"> 选择文件:<input type="file" name="file"> <input type="submit" value="上传"> </form> </body> </html>
2、创建Servlet(UploadServlet.java)
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.disk.*;
import org.apache.commons.fileupload.servlet.*;
@WebServlet("/UploadServlet")
@MultipartConfig(maxFileSize = 16177215) // 设置上传文件的最大大小(单位:字节)
public class UploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
// 配置上传参数
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(10 1024 * 1024); // 设置上传文件的最大大小(单位字节)
upload.setHeaderEncoding("UTF8"); // 设置编码格式
List<FileItem> items = upload.parseRequest(request); // 解析请求的内容提取文件数据
for (FileItem item : items) {
if (!item.isFormField()) { // 如果项目不是普通字段(即:文件),则处理该文件数据
String fileName = item.getName(); // 获取文件名(不包括路径)
String filePath = "D:/upload"; // 设置文件保存的路径(根据实际情况修改)
File storeFile = new File(filePath + File.separator + fileName); // 根据路径、文件名生成完整的文件对象
item.write(storeFile); // 将上传的文件保存到指定的路径
}
}
request.setAttribute("message", "文件上传成功!"); // 设置属性,用于在JSP页面显示提示信息
} catch (Exception e) {
request.setAttribute("message", "文件上传失败:" + e.getMessage()); // 设置属性,用于在JSP页面显示提示信息
} finally {
request.getRequestDispatcher("/result.jsp").forward(request, response); // 转发请求到结果页面(result.jsp)
}
}
}
3、创建JSP页面(result.jsp)
<!DOCTYPE html> <html> <head> <meta charset="UTF8"> <title>文件上传结果</title> </head> <body> <h2>文件上传结果:${message}</h2> // 显示提示信息(从request属性中获取) </body> </html>
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/286672.html