2017-05-05 168 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) 
}