提交含文件和表单元素的表单到servlet

public void upload(HttpServletRequest request,HttpServletResponse response){
	DiskFileItemFactory factory = new DiskFileItemFactory();

	factory.setSizeThreshold(1024*500);
	File tempDIrectory = new File("d:\\tempDirectory");
	factory.setRepository(tempDIrectory);

	//create a new file upload handler
	ServletFileUpload upload = new ServletFileUpload(factory);

	/set overall request size constraint
	upload.setFileSizeMax(1024*1024*5);

	//parse the request
	try {
		List<FileItem> items = upload.parseRequest(request);

		//遍历items:
		for(FileItem item: items){
			if(item.isFormField()){
				String name = item.getFieldName();
				String value = item.getString("utf-8");
				System.out.println(name + ":" + value);
			}
			//若是文件域则把文件保存到d:\\files 目录下
			else{
				String fieldName = item.getFieldName();
				String fileName = item.getName();
				String contentType = item.getContentType();
				long sizeInBytes = item.getSize();

				InputStream in = item.getInputStream();
				byte [] buffer = new byte[1024];
				int len = 0;

				fileName = "d:\\files\\" + fileName;
				OutputStream out = new FileOutputStream(fileName);

				while((len = in.read(buffer)) != -1){
					out.write(buffer, 0, len);
				}
				out.close();
				in.close();
			}
		}
	}catch (FileUploadException e) {
	}
}

  

时间: 2024-12-06 09:11:20

提交含文件和表单元素的表单到servlet的相关文章

HTML 5 服务器发送事件、Input 类型、表单元素、表单属性

HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新. Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器的更新. 以前也可能做到这一点,前提是网页不得不询问是否有可用的更新.通过服务器发送事件,更新能够自动到达. 例子:Facebook/Twitter 更新.估价更新.新的博文.赛事结果等. 浏览器支持 所有主流浏览器均支持服务器发送事件,除了 Internet Explorer. 接收 Server

JS基础-表单元素-新表单元素-js概述

1.表单元素 1.input元素 1.隐藏域和文件选项框 1.隐藏域 <input type="hidden"> 要提交给服务器的数据,但是不想展示给用户看可以放在隐藏域中. 2.文件选择框 <input type="file"> 注意: 1.method属性的值必须为post 2.enctype属性的值必须为multipart/form-data 2.textarea元素 1.作用 允许输入多行数据的文本框. 2.语法 标记:<tex

4.表单,表单元素,表单元素写法及属性

表单: 标签名: 1.form (表单)  action(路径 )  method (提交方式) 2.method(提交方式)提交方式有两种,一种是get提交方式,这是默认的. post的提交方式比较安全不会在路径中显示想要的数值, 在请求信息里面加参数, 表单元素 相关标签   fieldset (表单框) legend(表单框名) 文本类型:1.文本框(test) 2.密码框(postword)   3.隐藏域(hidde)   4.多行文本(textarea) disabled,reado

JavaScript遍历HTML表单元素及表单定义

如下JavaScript代码,通过document对象,遍历HTML所有元素(HTML DOM Element ). <html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <head> <script> //显示所有存在"ID"属性的HTML元素 function displayallelem(){ va

使用单元素枚举实现单例

如果不涉及到线程安全及延迟加载,单例最简单的写法: public class SingletonTest { public static final SingletonTest instance = new SingletonTest(); private SingletonTest(){ } } 考虑到线程安全跟延迟加载,修改如下: public class SingletonTest { public static final SingletonTest getInstance(){ ret

第六十七节,html表单元素

html表单元素 学习要点: 1.表单元素总汇 2.表单元素解析 本章主要探讨HTML5中表单元素,表单元素用于获取用户的输入数据.   一.表单元素总汇 HTML5的表单中,提供了各种可供用户输入的表单控件.           元素名称                                        说明             form          表示HTML表单             input         表示用来收集用户输入数据的控件          

第10章 表单元素(上)

第10章表单元素[上] 学习要点:1.表单元素总汇2.表单元素解析 本章主要探讨 HTML5中表单元素,表单元素用于获取用户的输入数据.一.表单元素总汇在 HTML5的表单中,提供了各种可供用户输入的表单控件.元素名称 说明form 表示 HTML表单input 表示用来收集用户输入数据的控件textarea 表示可以输入多行文本的控件select 表示用来提供一组固定的选项option 表示提供提供一个选项optgroup 表示一组相关的 option元素button 表示可用来提交或重置的表

DOM表单元素

#表单元素 ##获取表单元素 form 1)document.forms[0]; 2) document.forms['id']; 3) document.forms['name']; 4) document.name的值; ##获取表单字段 首先拿到表单:let form = document.forms[0]; 1) form节点.element[下标]: 2)form节点.element['id的值']: 3) form节点.element['name的值']: 4) form节点.nam

php之表单-2(表单验证)

PHP 表单验证 本章节我们将介绍如何使用PHP验证客户端提交的表单数据. PHP 表单验证 在处理PHP表单时我们需要考虑安全性. 本章节我们将展示PHP表单数据安全处理,为了防止黑客及垃圾信息我们需要对表单进行数据安全验证. 在本章节介绍的HTML表单中包含以下输入字段: 必须与可选文本字段,单选按钮,及提交按钮: 查看代码 » 上述表单验证规则如下: 字段 验证规则 名字 必须. +只能包含字母和空格 E-mail 必须. + 必须是一个有效的电子邮件地址(包含'@'和'.') 网址 必须