Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IF语句检查文件是否存在于不工作的路径中_Javascript_Validation_If Statement_Multiple File Upload - Fatal编程技术网

Javascript IF语句检查文件是否存在于不工作的路径中

Javascript IF语句检查文件是否存在于不工作的路径中,javascript,validation,if-statement,multiple-file-upload,Javascript,Validation,If Statement,Multiple File Upload,我正在尝试检查路径中是否已经存在来自多个上载的文件,如果已经存在,我希望排除验证错误。是else if部分不起作用。数字目录是在ajax控制器服务器端创建的,但是我想在他们将更多同名文件上传到该目录之前进行检查。这可能吗?我做错了什么 function makeProgress(number){ var url = getRelativeURL("web/fileUpload"); var formData = new FormData();

我正在尝试检查路径中是否已经存在来自多个上载的文件,如果已经存在,我希望排除验证错误。是else if部分不起作用。数字目录是在ajax控制器服务器端创建的,但是我想在他们将更多同名文件上传到该目录之前进行检查。这可能吗?我做错了什么

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);
          var location = "C:/temp/" + number + "/";
          console.log(location);
          // maximum number of files at a time is 10
          if(fls.length >= 11){
              FileUploadLengthVisible(true);
              return false;
          }
          var j;
          for(j=0;j<fls.length;j++){
              if (fls[j].size > 5000000) //5MB size per file
            {
                  FileUploadSizeVisible(true);

                  return false;
            }
              else if (location + fls[j] == true)
        {
                  alert("file exists");
                  return false;
        }
              else
                  {
              formData.append('files[]', fls[j]);  //note files[] not files
              $.ajax({
                  url : url,
                  data : formData,
                  processData : false,
                  cache: false,
                  contentType: false,
                  type : 'POST',
                  success : function(data) {
                   FileUploadVisible(true);

                   $('#attachmentModal').modal('hide')
                   $(':input','#attachmentModal').val("");
                    $("#pbarmain").hide();
                    $("#pbar").hide();
                    $("#actionPlanDiv").hide();
                    setObjectEnabled('#Upload',false);

                  },
                  error : function(err) {
                      FileUploadErrorVisible(true);

                  }

             });
              console.log('loop each file working');
          }
          }
          console.log("form data " + formData);


            }
函数makeProgress(number){
var url=getRelativeURL(“web/fileUpload”);
var formData=new formData();
formData.append('number',number);
fls=document.getElementById(“attachmentFileUploadInput”).files;//文件数。。。
控制台日志(fls);
var location=“C:/temp/”+number+“/”;
控制台日志(位置);
//一次最大文件数为10
如果(fls.length>=11){
FileUploadLength可见(true);
返回false;
}
var j;
对于(j=0;j 5000000)//5MB大小的每个文件
{
FileUploadSizeVisible(true);
返回false;
}
否则如果(位置+fls[j]==真)
{
警报(“文件存在”);
返回false;
}
其他的
{
formData.append('files[],fls[j]);//注意文件[]不是文件
$.ajax({
url:url,
数据:formData,
processData:false,
cache:false,
contentType:false,
键入:“POST”,
成功:功能(数据){
FileUploadVisible(true);
$('#attachmentModal').modal('hide'))
$(':input','#attachmentModal').val(“”);
$(“#pbarmain”).hide();
$(“#pbar”).hide();
$(“#actionPlanDiv”).hide();
setObjectEnabled(“#上载”,false);
},
错误:函数(err){
FileUploadErrorVisible(true);
}
});
log('loop each file working');
}
}
console.log(“表单数据”+表单数据);
}

location+fls[j]
正在尝试连接对象和字符串。除此之外,还不清楚验证逻辑是什么。您不应该检查服务器上有什么吗?我正在尝试将文件上载到本地位置,但是如果该文件存在于此路径中,则我希望验证表明该文件已存在于该位置。这有意义吗?目前,它只是覆盖文件(如果存在)。这并不是因为出于安全原因,您无法在浏览器中访问本地文件……即使您正在运行localhost服务器也是可能的……但通常您希望将文件名发送到服务器,并使用服务器代码检查文件是否存在。如果不存在,请在此之后进行上载。您可以将上载的
文件
对象的
.name
存储在
sessionStorage
localStorage
,然后检查文件名是否存在于
sessionStorage
。有关路径组件的说明,请参见