Javascript文件比较
我有4个文件输入标签来上传文件,如下所示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" /> &
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]);
});