![](/img/trans.png)
[英]Asp.net Core-choose and Validate excel file before uploading using javascript or C#?
[英]ASP.NET - Validate Excel File Content
我有一個帶有文件輸入的頁面,用戶應該在該頁面上載一個excel文件,以將大量記錄插入到特定表中。 我發現此Javascript代碼可幫助驗證插入的文件是否具有所請求的Excel擴展名之一:
var hash = {
'xls': 1,
'xlsx': 1,
};
function checkExtension() {
var filename = $("#uploadFile").val();
var re = /\..+$/;
var ext = filename.slice(filename.lastIndexOf(".") + 1).toLowerCase();
if (hash[ext]) {
return true;
} else {
alert("Invalid file type. Please insert a valid Excel file.");
event.preventDefault();
return false;
}
}
但是,與驗證該文件擴展名的代碼一樣有效,它不會驗證文件的內容,不允許某人上傳具有不同內容類型的文件,但其擴展名重命名為“ .xls”或“ .xlsx”。 如何解決這種情況?
您可以通過3個步驟正確驗證Excel文件
在Asp.net中,FileUploader控件具有一個稱為'accept'的屬性<asp:FileUploader accept='.xls,.xlsx'/>
。 默認情況下,它將允許用戶僅選擇xls和xlsx擴展文件。 但是,用戶仍然可以選擇“所有文件”選項以上傳另一個文件。
驗證文件名的擴展名是否包含來自Javascript的.xls以及“代碼隱藏”。
使用Aspose.Cells dll並嘗試獲取xls文件,如果該文件不是xls或xlsx,它將返回異常'InvalidFileFormatException'。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.