Servlet中上传下载模板代码

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		try {		
			//上传文件
			//1.创建文件工厂
			DiskFileItemFactory factory = new DiskFileItemFactory();
			//2.创建文件上传的核心类
			ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
	
//			servletFileUpload.setSizeMax(1);//设置整个form表单提交的大小
//			servletFileUpload.setFileSizeMax(1024*1024*2);//设置单个文件的大小	
			//3.判断当前的request是否是文件上传的格式
			if(servletFileUpload.isMultipartContent(request)) {		
				//4.解析当前的request为文件上传的request
				List<FileItem> list = servletFileUpload.parseRequest(request);			
				//5.遍历list集合,处理FileItem
				for (FileItem fileItem : list) {				
					//6.判断当前的fileItem是否是普通表单域
					if(fileItem.isFormField()) {				
						String fieldName = fileItem.getFieldName();//表单域的name属性的值
						String value = fileItem.getString("UTF-8");
						System.out.println(fieldName+"---"+value);							
					}else {
						
//						String contentType = fileItem.getContentType();
//						System.out.println(contentType);
						//7.不是普通域就是文件域
						String fieldName = fileItem.getFieldName();//
						String name = fileItem.getName();//上传文件的名称
						name=UUID.randomUUID().toString().replaceAll("-", "")+"_"+name;
						//System.out.println(fieldName+"---"+name);
						String realPath = "F:\\wrokimage";
						File file = new File(realPath);
						if(!file.exists()) {
							file.mkdir();	
						}					
						fileItem.write(new File(file, name));//就可将当前的文件存储到你指定的地方				
					}			
				}								
			}			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}		
	}
以下是Java实现附件上传功能的代码模板: ```java import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; 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("/fileupload") @MultipartConfig public class FileUploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static final String UPLOAD_DIRECTORY = "upload"; private static final int BUFFER_SIZE = 4096; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String applicationPath = request.getServletContext().getRealPath(""); String uploadFilePath = applicationPath + File.separator + UPLOAD_DIRECTORY; File fileUploadDirectory = new File(uploadFilePath); if (!fileUploadDirectory.exists()) { fileUploadDirectory.mkdirs(); } String fileName = ""; for (Part part : request.getParts()) { fileName = extractFileName(part); if (!fileName.isEmpty()) { String filePath = uploadFilePath + File.separator + fileName; saveFile(part.getInputStream(), filePath); } } response.getWriter().println("File uploaded successfully!"); } private String extractFileName(Part part) { String contentDisp = part.getHeader("content-disposition"); String[] items = contentDisp.split(";"); for (String s : items) { if (s.trim().startsWith("filename")) { return s.substring(s.indexOf("=") + 2, s.length()-1); } } return ""; } private void saveFile(InputStream inputStream, String filePath) throws IOException { OutputStream outputStream = new FileOutputStream(new File(filePath)); int bytesRead = -1; byte[] buffer = new byte[BUFFER_SIZE]; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } outputStream.close(); inputStream.close(); } } ``` 该模板使用Java Servlet实现文件上传功能。在该模板,将上传文件保存在指定的目录,并提供了一些用于处理上传文件的方法。请注意,在实际使用,您可能需要对代码进行一些修改来满足您的特定需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值