前端代码
<button type="button" class="layui-btn" id="test3"><i class="layui-icon"></i>上传文件</button>
js代码
layui.use('upload', function(){
var $ = layui.jquery
,upload = layui.upload;
upload.render({
elem: '#test3'
,url: '<%= request.getContextPath() %>/servlet/SysServlet'
,accept: 'file' //普通文件
,exts: 'xls' //允许上传的文件后缀
,done: function(res){ //返回值接收用于结果提示
if(res==1){
layer.msg('上传成功!', {
}, function(){
location.reload();
});
}else{
layer.msg('上传失败!', {
}, function(){
location.reload();
});
}
}
});
});
Java后台代码
public String upload2(HttpServletRequest request,HttpServletResponse response){
int judge = 0;
ExcelToOracle e = new ExcelToOracle();
String filePath = "";
try {
// 配置上传参数
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
// 解析请求的内容提取文件数据
@SuppressWarnings("unchecked")
List<FileItem> formItems = upload.parseRequest(request);
// 迭代表单数据
for (FileItem item : formItems) {
// 处理不在表单中的字段
if (!item.isFormField()) {
String fileName = item.getName();
int index=fileName.lastIndexOf("\\");
if(index!=-1) {
fileName=fileName.substring(index+1);
}
//定义上传文件的存放路径
String path = this.getServletContext().getRealPath("/uploadFile");
//定义上传文件的完整路径
filePath = String.format("%s/%s",path,fileName);
File storeFile = new File(filePath);
// 在控制台输出文件的上传路径
//System.out.println(filePath);
// 保存文件到硬盘
item.write(storeFile);
String dataTable = "ZX_BADLIST";
judge = e.insert(filePath, dataTable);
}
}
} catch (Exception ex) {
return "2";
}finally{
e.deleteFile(filePath);
}
if(judge!=0){
return "1";
}else{
return "2";
}
}