2017-05-05 152 views
-5

如何检测文件的类型是文件是pdf还是jpg?我尝试像下面的声明,但它只检测.jpg文件。条件if语句(javascript)

if (file[i] == 'pdf'||file[i] == 'jpg') { 
    // 
} 
+0

你是什么意思 “但它只能读取JPG” 是什么意思? – Li357

+0

我不确定JavaScript是否可以从内容中检测文件类型,它更可能来自扩展。 – Sid

+0

'file [i]'如何设置?它会是一个包含文件类型的字符串吗?如果是这样,那么如果测试应该工作;如果没有,它不会。 – nnnnnn

回答

2

你可以使用

var extn = file[i].split('.').pop(); 

文件扩展名,并检查你的病情的扩展是否PDF,JPG或任何其他的缘故。

希望这会有所帮助!

1

您尚未指定这些文件名来自哪里,因此有几种可能的情况。

如果你指的是超链接,你想要做的事只是指向,.pdf.jpg文件的链接,你并不需要看所有的环节和测试.pdf文件或文件.jpg,你只需扫描只为.pdf.jpg文件是这样的:

var files = document.querySelectorAll("a[href$='.pdf'], a[href$='.jpg']"); 
 
console.log("There are " + files.length + " .pdf and/or .jpg links."); 
 
Array.prototype.slice.call(files).forEach(function(file){ 
 
    console.log(file.getAttribute("href")); 
 
});
<a href="someImage.jpg">Click</a> 
 
<a href="someImage.gif">Click</a> 
 
<a href="someFile.pdf">Click</a> 
 
<a href="somefile2.pdf">Click</a> 
 
<a href="someImage.png">Click</a>

如果你有文件名的数组,你可以得到.pdf.jpg的名字是这样的:

var files = [ "file1.png", "file2.jpg", "file3.pdf", "file4.JPG", "file5.gif" ]; 
 

 
var matchedFiles = files.filter(function(file){ 
 
    var ext = file.substr(file.length - 4, file.length); 
 
    if(ext.toLowerCase() === ".pdf" || ext.toLowerCase() === ".jpg"){ 
 
    return file; 
 
    } 
 
}); 
 

 
console.log(matchedFiles);

2

如果我们把文件名作为文件,

string[] substrings = file.split('.'); 
var extension = substrings[1]; 
var pdf = 'pdf'; 
var jpg = 'jpg'; 
if((extension == pdf)|| (extension == jpg)){ 
(condition) 
}