这是 ajaxFileUpload函数
$("#upload123").click(function(){
var path1=$("[name=path]").val(); //上传文件目录地址//var filepath=$("[name=uploadpath]").text();
alert(path1);
if(path1!=null&&path1!=""){
$.ajaxFileUpload({
type : "POST",
url : "./uploadresource.jsp",
secureuri : false,//是否启用安全提交,默认为false
fileElementId : 'uploadpath',//文件选择框的id属性
dataType : 'json',//服务器返回的格式
async : false,
success : function(data) {
if (data.success || data.success == 'true') {
alert('上传成功');
} else {
alert('上传失败,错误' + data.message);
}
},
error : function(data, status, e) {
}
});
}else{
}
});
后台是通过这种方式得到
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(tempDir);//可以设置缓存目录
factory.setSizeThreshold(1024 * 1024);//超过1m的数据采用临时文件缓存
ServletFileUpload upload = new ServletFileUpload(factory);//创建 ServletFileUpload 对象,构造的时候传一个 DiskFileItemFactory 对象进去
upload.setFileSizeMax(1024 * 1024 * 500);//单个文件大小
//upload.setHeaderEncoding("gb2312");//设置普通字段名称和文件字段的文件名所采用的字符集编码
upload.setSizeMax(1024 * 1024 * 1000);//最多上传50m的文件
List list = null;
try {
list = upload.parseRequest(request);//解析 request 对象 得到一个包含 FileItem 对象的 list
} catch (FileUploadException e) {
System.out.println("7444569");
throw e;
}
JSONObject json = new JSONObject();
System.out.println("123"+list.size());
结果显示输出 list.size() 是 0,
不断检查 逻辑没问题,
尝试了去
<input type='file' id='uploadpath' name='uploadpath'/>
在标签页 新加了name 属性 值和 id 的一样就可以了。