Разрешить только CSV файлы в Kendo Upload
Как я могу ограничить загрузку Kendo в файлы CSV?
Razor:
@(Html.Kendo().Upload()
.Name("import-file")
.Multiple(false)
.ShowFileList(true)
.Async(a => a
.Save("Save", "Import")
.Remove("Remove", "Import")
.AutoUpload(false)
)
.Events(events => events.Select("App.Import.select"))
)
Javascript:
Import: {
select: function (event) {
$.each(event.files, function (index, value) {
if (value.extension !== '.csv') {
alert("not allowed!");
}
console.log("Name: " + value.name);
console.log("Size: " + value.size + " bytes");
console.log("Extension: " + value.extension);
});
var breakPoint = 0;
}
}
Моя идея состоит в том, чтобы удалить файл в событии выбора. Как я могу сделать это?
С уважением, Марко
1 ответ
Решение
Согласно документации здесь, что вы должны сделать, это отменить событие (e.preventDefault()
).
Итак, поскольку вы не разрешаете выбор нескольких файлов, вам следует сделать следующее:
select: function (event) {
var notAllowed = false;
$.each(event.files, function (index, value) {
if (value.extension !== '.csv') {
alert("not allowed!");
notAllowed = true;
}
console.log("Name: " + value.name);
console.log("Size: " + value.size + " bytes");
console.log("Extension: " + value.extension);
});
var breakPoint = 0;
if (notAllowed == true) e.preventDefault();
}
Пример здесь: http://jsfiddle.net/OnaBai/n5Y2s/1/