【问题标题】:Multi file upload validaiton javascript if statement not working多文件上传验证javascript if语句不起作用
【发布时间】:2017-04-15 11:23:41
【问题描述】:

尝试为我的文件添加验证以查看上传的文件是否超过 5MB,但是如果文件超过 5MB,它不会发出警报,谁能看到我的 IF 语句中的验证有什么问题?这是一个多文件上传,工作正常,但验证没有

function makeProgress(number){   
          var url = getRelativeURL("web/fileUpload");   
          var formData = new FormData();
          formData.append('number', number);
          fls = document.getElementById("attachmentFileUploadInput").files; //number of files... 
          console.log(fls);
          for(j=0;j<fls.length;j++){
              if (fls.size > 5000000) //5MB
            {
                  console.log('error');
                  alert('file to big');
            }
              else
                  {
              formData.append('files[]', fls[j]);  //note files[] not files
              $.ajax({
                  url : url,
                  data : formData,

【问题讨论】:

  • fls 是一个文件数组?因此,要获取每个单独文件的大小:fls[j].size

标签: javascript ajax validation loops if-statement


【解决方案1】:

您不检查当前文件的大小。改变

if (fls.size > 5000000) //5MB

if (fls[j].size > 5000000) //5MB

再想一想。你没有在你的函数中声明j,因此它在全局范围内可能会破坏事情,因为它可以在你的代码的其他部分进行操作。你可以这样声明:

var j;
for(j=0;j<fls.length;j++){

【讨论】:

    猜你喜欢
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 2018-08-28
    • 2012-11-30
    相关资源
    最近更新 更多