我想在用戶提交之前驗證通過Ajax上傳的文件。我確定它是一個.txt或JavaScript中的.csv,然後我想打電話給我的控制器來驗證它是否符合我們的CSV標準。獲取<input type =「file」>內容在Ajax中
我:
<input type="file" name="csvFile" id="csvFile" onchange="validateFile()"/>
和
function validateFile() {
var file = document.getElementById("csvFile");
var extension = file.value.split('.').pop();
if (extension != "csv" && extension != "txt") {
alert("A .csv or .txt file is required for upload");
return false;
}
$.ajax({
url: '@Url.Action("ValidateCSV","UploadCSV")',
type: "POST",
data: { file: document.getElementById("csvFile") }, //unclear here
success: function() {
alert("success");
},
error: function (error) {
alert("failed:" + error);
}
});
}
爲Ajax數據,我怎麼去得到HttpPostedFileBase
控制器從文件希望?我希望在允許用戶提交之前進行所有驗證。我不是說我「允許」爲任何指導做到這一點
三江源100%
無法上傳通過AJAX的文件。參見[這個答案詳細信息](http://stackoverflow.com/a/6462673/1199711)。 – Zabavsky
你是否簡單地試圖驗證該文件以.txt和.csv結尾,然後將其提交上傳? – davids
否ajax控制器進行深度驗證(驗證標題,類型等) – Jonesopolis