Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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文件比较_Javascript_Jquery - Fatal编程技术网

Javascript文件比较

Javascript文件比较,javascript,jquery,Javascript,Jquery,我有4个文件输入标签来上传文件,如下所示 Left File : <input type="file" name="dataFile1" id="fileChooser1" /> Right File : <input type="file" name="dataFile2" id="fileChooser2" /> Config File : <input type="file" name="dataFile3" id="fileChooser3" /> &

我有4个文件输入标签来上传文件,如下所示

Left File : <input type="file" name="dataFile1" id="fileChooser1" />
Right File : <input type="file" name="dataFile2" id="fileChooser2" />
Config File : <input type="file" name="dataFile3" id="fileChooser3" />
<button type="button" id="execute" onclick="ValidateFile()">Click to Upload files</button>

但这只检查正在上载的文件的名称,如果上载了两个名称不同但内容相同的文件,则它们将被标识为不同的文件。

您应该能够使用jQuery从输入字段获取文件大小属性。看

如果你比较这些,你会有一个额外的检查,你没有上传相同的文件。虽然没有保证

在您的具体情况下,您可以获得以下信息和更多额外信息:

//Check file data before execution
$('#execute').live('click', function() {
   console.log($("#fileChooser1")[0].files[0]);
   console.log($("#fileChooser2")[0].files[0]);
   console.log($("#fileChooser3")[0].files[0]);
});
检查控制台输出,查看大小、类型和lastModifiedDate。我认为有理由假设,如果所有这些都是相同的,那么您处理的是同一个文件(大小为0的文件除外)


上进行测试在我看来,您正在寻找FileReader:。下面是一个关于使用它的简单教程:(滚动到JavaScript文件列表和文件对象)一个简单的解决方案是检查名称及其大小。我认为在javascript中,您可以使用
if(FileName1.files[0].size==FileName2.files[0].size){…}
检查文件大小,这是一个很好的起点->
//Check file data before execution
$('#execute').live('click', function() {
   console.log($("#fileChooser1")[0].files[0]);
   console.log($("#fileChooser2")[0].files[0]);
   console.log($("#fileChooser3")[0].files[0]);
});