文件上传

我用Excel数据导入来说明文件上传问题

<form action="fileupload.do" method="post" enctype="multipart/form-data">
	<input type="hidden" name="param" value="excelImport"/>
	Excel数据导入:<input type="file" name="excelFile" />
	<input type="submit" value="导入"/>
</form>

 问题:如果在fileupload.do中直接用下面方式是取不到数据的

request.getParameter("param");//null
request.getParameter("excelFile");//null
 


为了获得上传的文件,可以通过apache的commons-fileupload.jar来处理(当然可以选择其它方式)
改成下面这种方式

<form action="fileupload.do?param=excelImport" method="post" enctype="multipart/form-data">
	Excel数据导入:<input type="file" name="excelFile" />
	<input type="submit" value="导入"/>
</form>

 在fileupload.do中

request.getParameter("param");//excelImport
request.getParameter("excelFile");//null
//文件类型用apache的commons-fileupload.jar来处理
if (FileUpload.isMultipartContent(request)) {
	//我这里不考虑上传文件的大小问题,否则用DiskFileUpload处理
	DefaultFileItemFactory factory = new DefaultFileItemFactory(); 
	FileUpload upload = new FileUpload(factory);
	List<FileItem> items = upload.parseRequest(request);
	for (FileItem item : items) {
		if (!item.isFormField()) {
			String fileName = item.getName();//文件名
    			String fieldName = item.getFieldName();//域名(=excelFile)
    			item.getInputStream();//文件内容
		}
	}
}
//获得了文件内容的输入流之后,可以用来创建jxl的Workbook。
Workbook.getWorkbook(inputStream);
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值