关于fileupload multipart/form-data or multipart/mixed stream, content type header is null


the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is null

表单提交: 

form method="post" action="/StudentUnionCacheServlet"  enctype="multipart/form-data">

后台代码:

 // 解析文件
			ServletFileUpload sfu = new ServletFileUpload(factory);
			int count = 0;
			try {
				FileItemIterator fii = sfu.getItemIterator(request);
				// 创建一个格式化时间对象
				SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
				while (fii.hasNext()) {

但是这样的话会报一个错  the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is null 奇怪的是还能继续执行完并得到封装完的JavaBean对象.

为了给以后修改代码省点力,就继续修改测试,查阅了大量的类似的文章.发现问题一样但是效果却没有用.过后在看别人的实现发现了ServletFileUpload.isMultipartContent(request)  功能是 确定请求是否包含多部分内容的实用程序方法 

先验证再使用 !!!!!!!!!!!!!!!!!

boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		if (isMultipart) {
			FileItemFactory factory = new DiskFileItemFactory();
			// 解析文件
			ServletFileUpload sfu = new ServletFileUpload(factory);
			int count = 0;
			try {
				FileItemIterator fii = sfu.getItemIterator(request);
				// 创建一个格式化时间对象
				SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
				while (fii.hasNext()) {

验证过就不会出现报错了 或者说直接跳过了这个问题.... 然而并没有发现是怎么产生如果 那位大佬知道是怎么出现这个问题请告知!! 谢谢