当前位置: 代码迷 >> Java Web开发 >> jsp上传文件的失败解决思路
  详细解决方案

jsp上传文件的失败解决思路

热度:18   发布时间:2016-04-13 22:12:12.0
jsp上传文件的失败
我用的是JFINAL框架··jsp页面的使用multipart/form-data  后台用UploadFile file = getFile(),获取文件
结果就是一直Posted content type isn't multipart/form-data·报错
下面是代码js
function importExcel(){      
    var fileName= $('#uploadExcel').filebox('getValue');
    alert(fileName);
            if(fileName==""){     
               $.messager.alert('提示','请选择上传文件!','info');   
            }else{  
                //对文件格式进行校验  
                var d1=/\.[^\.]+$/.exec(fileName);   
                if(d1==".xls"){ 
                 $('#fm').form('submit', {
                 url: "PrimaryCustomer/importExcel",
                                          fileName: fileName,
                 });
                 $.messager.alert('提示','操作成功!','info') ,  
                }
               else{  
                   $.messager.alert('提示','请选择xls格式文件!','info');   
                   $('#uploadExcel').filebox('setValue','');   
               }  
            }    
      
 }  

jsp代码
	<form id="questionTypesManage" method="post" enctype="multipart/form-data" class="pageForm required-validate"  >
选择文件: <input id="uploadExcel" name="uploadExcel" class="easyui-filebox" style="width: 200px" data-options="prompt:'请选择文件...'"> 
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="importExcel()">导入Excel</a>
</form>


后台代码
	public void importExcel() {
System.out.println("importyExcel");

// 获取文件
UploadFile file = getFile("fileName");

String path = file.getSaveDirectory() + file.getFileName();

// 处理导入数据
{
List<Map<Integer, String>> list = dealDataByPath(path); // 分析EXCEL数据

for(Map<Integer,String> map:list) { // 遍历取出的数据,并保存

PrimaryCustomerModel m = new PrimaryCustomerModel();

m.put("companyTaxNo", map.get(0));
m.put("companyName", map.get(1));
m.put("legalName", map.get(2));
m.put("legalTel",map.get(4));
m.put("userId",map.get(6));
m.save();
}
System.out.println(list);

}

// 返回结果
setAttr("msg", "导入成功!");

}


报错
Caused by: java.io.IOException: Posted content type isn't multipart/form-data
at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:166)
at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:222)
at com.jfinal.upload.MultipartRequest.wrapMultipartRequest(MultipartRequest.java:101)
... 34 more


还有我的easyui-filebox的取值一直是C:\fakepath\XXXX.xls不管是D盘还是F盘的路径都是这个···
(我一直觉的是路径的问题··但是我直接写正确的路径还是报上门的错误)
求大神解答···急求
------解决思路----------------------
记得结贴,你得结贴率太低,大家来是交流经验的顺便拿点分,你老不结贴就没人愿意回你贴了。
  相关解决方案