2017-02-02 66 views
0

我想知道是否可以檢查文件MIME類型上傳之前或不? 我已經知道如何在上傳該文件後在服務器端執行該操作,但是在上傳文件之前如何在客戶端執行此操作?檢查圖像MIME類型與FileReader JavaScript上載之前

指數代碼:

<form action="/" method="post" enctype="multipart/form-data" id="form"> 
    <input id="image" type="file" /> 
    <input type="submit" value="Submit" id="submit" /> 
</form> 

我想是這樣的: 只要用戶上傳的圖像,爲您在客戶端的MIME類型。它應該是jpg,jpeg或png。

注意:我不想檢查它的擴展名,這很容易。我想檢查它的mime類型。例如,如果一個人將txt.txt重命名爲txt.png,則應該給出錯誤。

在此先感謝。

如果你能幫助我,這將是更好的: 我想檢查客戶端的MIME類型的原因是,我想在選擇後立即預覽該圖像,並且如果用戶選擇一個非 - 圖像文件,它會預覽一個醜陋的照片圖標。我想阻止這一點。例如,如果一個人選擇一個非圖像文件,只顯示他們選擇的文件,而不是圖像。 所以,如果你能告訴我如何檢查圖像是否可以顯示。

+1

MIME類型,像文件擴展名,只是一個標籤。瀏覽器通常從文件擴展名推斷出它。如果你想測試圖像是否爲圖像,那麼你需要檢查原始數據(即使這樣,用戶總是可以覆蓋JavaScript,因爲它在瀏覽器中運行)。 – Quentin

回答

1

試試這個。

的document.getElementById( 'fileChooserID')。文件[0] .TYPE

+0

根據文件類型進行檢查。如果我將file.exe重命名爲file.png,則不起作用。 – Joseph