2015-09-03 26 views
-1

我有一些代碼來檢查正在上傳什麼類型的文件格式。我只想讓TIFF或JPEG文件,因此,如果任何其他文件要試圖再上傳顯示警告信息如何檢查,如果某些圖像格式上傳

$(document).ready(function() { 
     $("#fuUpload").change(function() { 
      var fileExtension = ['jpeg', 'tiff']; 
      if ($.inArray($(this).val().split('.').pop().toLowerCase(), fileExtension) == -1) { 
       alert("Only formats allowed are: " + fileExtension.join(', ')); 
      } 
     }); 
}); 

的問題是在此代碼它顯示即使正確的文件被上傳警報。如果文件不是tiff或jpeg,我只想顯示警報。

+0

然後改變你的條件?我會假設這是你在網上找到的一些源代碼... – NewToJS

+0

@NewToJS是的,但我需要改變它到什麼程度? – user123456789

+0

@NewToJS錯誤信息根本不會出現現在無論我嘗試什麼類型的文件上傳 – user123456789

回答

1

更改,如果條件:

if(!(fileExtension.indexOf($(this).val().split('.').pop().toLowerCase()) > -1)) 

OR

if(!($.inArray($(this).val().split('.').pop().toLowerCase(),fileExtension) >-1)) 

演示一個

var fileExtension = ['jpeg', 'tiff']; 
 
function MyFunc(e){ 
 
if(!(fileExtension.indexOf(e.split('.').pop().toLowerCase()) > -1)){ 
 
    alert('Format Not Accepted'); 
 
}else{ 
 
alert("This Format Is Okay!"); 
 
} 
 
}
<button value="image.tiff" onclick="MyFunc(this.value);">Image.tiff</button> 
 
<button value="image.gif" onclick="MyFunc(this.value);">Image.<b>gif</b></button> 
 
<button value="image.jpeg" onclick="MyFunc(this.value);">Image.jpeg</button>

演示兩個

var fileExtension = ['jpeg', 'tiff']; 
 
function MyFunc(e){ 
 
if(!($.inArray(e.split('.').pop().toLowerCase(),fileExtension) >-1)){ 
 
alert("Only formats allowed are: " + fileExtension.join(', ')); 
 
} 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<button value="image.tiff" onclick="MyFunc(this.value);">Image.tiff</button> 
 
<button value="image.gif" onclick="MyFunc(this.value);">Image.<b>gif</b></button> 
 
<button value="image.jpeg" onclick="MyFunc(this.value);">Image.jpeg</button>

如果您對源代碼的任何問題,上述請在下面發表評論。

我希望這會有所幫助。快樂的編碼!

+0

感謝您的答案,但它仍然無法正常工作。如果上傳任何圖像類型,警報仍會顯示 – user123456789

+0

我已經使用自己的源代碼和工作演示擴展了答案。如果這不適合你,那麼你的源代碼必須有其他東西。 – NewToJS

相關問題