哇哈哈zhian 2013-10-17 03:47 采纳率: 0%
浏览 12739

jquery ajax 上传文件 后台取不到file

正在做一个文件上传的程序,在上传之前需要验证文件的大小,不能超过10M,我采用的是jquery ajax的方式提交到后台Action,由后台Action判断文件大小。
首先看jsp页面:

上传的文件不得大于10M 。。。。省略部分....

javascript代码:
function checkFileSize() {
var uploadfile = jq("#uploadfile");
var returnval = false;
if(uploadfile.val()==""){
alert("请选择需要上传的文件");
return false;
}
var formData = new FormData();
formData.append("userfile",jq("#uploadfile"));
var url = "ajax/ajax_checkFileSize.action";
jq.ajax({
type: "POST",
url: url,
async: false,
enctype: 'multipart/form-data',
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (msg) {
if(msg=="0"){
jq("#checkfile").text("");
alert("上传文件"+uploadfile.val()+"大于10M");
returnval = false;
}else{
jq("#checkfile").text("文件可以上传");
jq("#checkfile").reset();
returnval = true;
}
}
});
return returnval;
}
ajax后台判断也很简单:
public String checkFileSize() throws IOException{
out = response.getWriter();
String message="";
try {
response.setCharacterEncoding("utf-8");
double size = (double)file.length()/1048576;
if(size>10){
message = "0";
}else{
message = "1";
}

    } catch (Exception e) {
        e.printStackTrace();
        message="0";
    }finally{
        out.write(message);
        out.flush();
        out.close();
    }
    return null;
}

但是每次都在double size = (double)file.length()/1048576;这里报空指针异常

请大家帮忙看看!

  • 写回答

2条回答

  • D1208 2014-09-25 02:13
    关注

    现在说文件上传一般都用spring的MultipartFile,前台指定form的encType="multipart/form-data",后台直接用MultipartFile接收,然后转换成file

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序