检查表单域是否为普通表单,直接用request.getParameter();是获得不了值的,因为上传的form表单页面的值是一个二进制流的上传方式
所以用普通的方法根本获得不到它的值.解决的方法如下:
if(!fileitem.isFormField())
{
// 获得文件的完整路径
path = fileitem.getName();
// 得到文件的大小
size = fileitem.getSize();
if (path.equals("") || size == 0) {
out.print("{failure:true,msg:'上传文件不能 为空!!!'}");
return;
}
// 去除路径的文件名,判断是否是xls文件类型
String t_name = path.substring(path.lastIndexOf("\\") + 1);
// 获得文件的扩展名
String t_ext = t_name.substring(t_name.lastIndexOf(".") + 1);
// 拒绝接受规定文件格式之外的文件类型
int i = 0;
int allowedExtCount = allowedExt.length;
for (; i < allowedExt.length; i++) {
// 判断是否符合需要的类型
if (allowedExt[i].equals(t_ext)) {
break;
}
}
if (i == allowedExtCount) {
out.print("{failure:true,msg:'上传文件的类型不正确!'}");
return;
}
try
{
//文件上传后的名称为当前系统时间
long now=System.currentTimeMillis();
//fileitem.write(new File(builder.toString()));
hmap=com.tbsl.finance.actions.util.ExcelImport.readExcel(fileitem.getInputStream());
long end=System.currentTimeMillis();
if(hmap==null || hmap.size()==0)
infor="{failure:true,msg:'上传文件失败,内容格式不正确!'}";
else infor="{success:true,msg:'上传文件成功! 使用时间: "+(end-now)+"'}";
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else
{
//获得客 户 组 名
if ("txtfile".equals(fileitem.getFieldName())) {
client_group=fileitem.getString();
}
}
common-fileupload的获得表单中的数据
最新推荐文章于 2016-08-05 23:16:58 发布