1
我已经设置了kendo上传,如下所示。在kendo上传中按ID删除文件
@(Html.Kendo().Upload().Name("files")
.Async(a => a
.Save("UploadAttachments", "Mycontroller")
.Remove("RemoveAttachments", "Mycontroller")
.SaveField("files")
.RemoveField("ids")
.AutoUpload(true))
.Events(e => e
.Success("onUploadSuccess")
.Error("onUploadError"))
.Files(files =>
{
foreach (var f in Model.Attachments)
{
files.Add().Name(f.FileName).Extension(Path.GetExtension(f.FileName));
}
}))
UploadAttachments方法保存在服务器文件的文件并创建数据库记录并返回下面的模型
Id-long
FileName: fileName
RemoveAttachments方法预计IDS。在创建空的现有文件的过程中,我有以下事件处理程序更新文件,以便我可以使用ID删除。
function onUploadSuccess(e) {
if (e.operation == "upload") {
e.files[0].data = e.response[0]; // hold the attachment detail
e.files[0].name = e.response[0].Id; // change name with id so it can be passed to remove method
}
}
但与现有的文件,我想不出更新文件的方式或Model.Attachements的ID分配到上传控件。
我可以在init中设置带id的名字,但这样我就无法正确显示文件的名称。
foreach (var f in Model.Attachments)
{
files.Add().Name(f.Id.ToString).Extension(Path.GetExtension(f.FileName));
}
这会在UI中显示错误的文件名。