我没有看到关于这个主题的信息,除了有关如何在使用最新的Kendo库时过滤文件的信息。所以我发布了如何在需要的时候让其他人使用它。
答案 0 :(得分:0)
这是在Razor语法中使用的剑道:
@(Html.Kendo().Upload()
.Name("procfiles")
.Async(a => a
.Save("SavePF", "AccountEvent", new { id = Model.SeqNum })
.Remove("RemovePF", "AccountEvent", new { id = Model.SeqNum })
.AutoUpload(true)
).Files(f =>
{
if (Model != null && !string.IsNullOrEmpty(Model.ProcedureFile))
{
f.Add().Name(Path.GetFileName(Model.ProcedureFile));
}
})
.Multiple(false)
.ShowFileList(true)
.Events(e =>
{
e.Error("accountEventEditController.uploadProcFileError");
e.Select("accountEventEditController.onProcFileUploadSelect");
e.Upload("accountEventEditController.onProcFileUpload");
e.Success("accountEventEditController.onProcFileSuccess");
e.Remove("accountEventEditController.onProcFileRemove");
e.Complete("accountEventEditController.onProcFileComplete");
})
)
正如您所看到的,您可以加入"选择"事件。然后我有一个.js控制器处理程序文件,它执行以下代码来过滤文件类型。
var onChkFileUploadSelect = function (e, type) {
var files = e.files;
var acceptedFiles = [".pdf", ".xlsx"];
var isAcceptedImageFormat = ($.inArray(files[0].extension, acceptedFiles)) != -1;
console.log(files[0].extension);
if (!isAcceptedImageFormat) {
e.preventDefault();
$(targetErrorControl).fadeIn('slow').delay(3000).fadeOut('slow');
}
}
希望这有助于那些人。