jsp两种文件上传方式@MultipartConfig 注解方式及普通常规方式

下面两种上传方式均支持文字文件单选多选批量上传处理

jsp代码:

	
用户名称:
头像文件:
BlogURL:

servlet代码: 

后台接收文件方式一,该方式需要@MultipartConfig注解
后台接收文件方式二,该方式无需@MultipartConfig注解
		/**
		 * 后台接收文件方式一,该方式需要@MultipartConfig注解 多文件用getParts,单个文件参考上面用getPart("myfile") myfile为file框name属性,支持单选或多选批量上传
		 */
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("UTF-8");
		String savePath = request.getServletContext().getRealPath("/myFiles");
		Collection files = request.getParts();
		for (Part part : files) {
//			System.out.println("文件类型:" + part.getContentType());// MIME类型
//			System.out.println("文件大小:" + part.getSize());// 文件大小 字节
//			System.out.println("SubmittedFileName:" + part.getSubmittedFileName());
//			System.out.println("Name:" + part.getName());

			part.write(savePath + "/" + part.getSubmittedFileName());
			response.getWriter().print("文件上传成功!");
		}


	    /**
	     * 后台接收文件方式二,该方式无需@MultipartConfig注解 支持单个或多选批量上传
	     */
	        request.setCharacterEncoding("utf-8");
	        response.setCharacterEncoding("UTF-8");
	        String savePath = request.getServletContext().getRealPath("/myFiles");
	        DiskFileItemFactory factory = new DiskFileItemFactory();
	        ServletFileUpload upload = new ServletFileUpload(factory);
	        try {
	            List items = upload.parseRequest(new ServletRequestContext(request));
	            for (FileItem item : items) {
	                if (!item.isFormField()) {
	                    // System.out.println("savePath = " + savePath);
	                    // System.out.println(item.getName());
	                    // System.out.println(item.getFieldName());
	                    item.write(new File(savePath + "/" + item.getName()));
	                }
	            }
	        } catch (Exception e) {
	            e.printStackTrace();
	        }

 

你可能感兴趣的:(Java,jsp文件上传,MultipartConfig,注解)