1.JS
function ajaxFileUpload()
{
$("#loading").ajaxStart(function(){
$(this).show();
})
.ajaxComplete(function(){
$(this).hide();
});
var item = $('input[@name=uploadtype][@checked]').val();
$.ajaxFileUpload
(
{
url:"/servlet/UserServlts?flag=saveexcels&uploadtype="+item,
secureuri:false,
fileElementId:'fileToUpload',
dataType: 'text',
success: function (data, status)
{
alert(data);
$("#upload").toggle();
},
error: function (data, status, e)
{
alert(e);
}
}
)
return false;
}
2.服务端
//保存用户提交过来的EXCEL 数据信息
String uploadtype = request.getParameter("uploadtype").trim();
response.setContentType( "text/html" );
response.setCharacterEncoding( "utf-8" );
out.println( " " );
out.println( "
提示 " );
out.println( " " );
// 声明文件域
FileItem fileItem = null ;
// 从 HTTP servlet 获取 fileupload 组件需要的内容
RequestContext requestContext = new ServletRequestContext(request);
// 判断是否包含 multipart 内容,如果不包含,则不进行任何处理。
if (ServletFileUpload.isMultipartContent(requestContext)) {
// 创建基于磁盘的文件工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
// 设置直接存储文件的极限大小,一旦超过则写入临时文件以节约内存。默认为 1024 字节
factory.setSizeThreshold( 1024 * 1024 );
// 创建上传处理器,可以处理从单个 HTML 上传的多个上传文件。
ServletFileUpload upload = new ServletFileUpload(factory);
// 最大允许上传的文件大小
upload.setSizeMax( 1024 * 1024 );
try {
// 处理上传
List items = null ;
items = upload.parseRequest(requestContext);
// 由于提交了表单字段信息,需要进行循环区分。
for ( int i = 0 ; i < items.size(); i ++ ) {
FileItem fi = (FileItem) items.get(i);
// 如果不是表单内容,取出 multipart。
if ( ! fi.isFormField()) {
fileItem = fi;
// 一次只上传单个文件
break ;
}
}
out.println(parseExcel(fileItem,uploadtype));
} catch (Exception e) {
out.println( " 上传失败!请检查上传的文件是否为excel格式、信息是否完整完整、且大小是否超过1兆。 " );
out.println( "
原因: " + e.toString());
System.out.println("======="+e.toString());
}
}
out.println( "
" );
out.println( " " );
阅读(1137) | 评论(0) | 转发(0) |