0
我使用Kendo UI MVC上傳控件一次上傳多個文件(即批量)。文件很清楚要做什麼,但我看到每個文件都有單獨的上傳請求,而不是所有的單個上傳請求。Kendo MVC上傳 - 批量上傳
這是我上傳的控制
Html.Kendo().Upload().Name("files")
.TemplateId("fileUploadTemplate")
.Events(e =>
{
e.Upload("onFileUpload");
})
.HtmlAttributes(new { accept = ".xls,.csv" })
.Messages(m => m.Select("Select Files..."))
.Async(a => a.Save("Upload", "Home").AutoUpload(false).Batch(true))
我用劍道模板添加2個字段代碼(開始&結束日期)針對每個上傳的文件,如下圖所示。
這裏是模板代碼。
<script id="fileUploadTemplate" type="text/x-kendo-template">
#var fileCount = $(".k-file .row").length;#
#var startId = 'PeriodStart_' + fileCount; #
#var endId = 'PeriodEnd_' + fileCount; #
<span class="k-progress"></span>
<div class="row">
<div class="col-md-4">
<span class="k-filename"><strong>#=name#</strong></span>
</div>
<div class="col-md-3 nopadding">
Start: @(Html.Kendo().DatePicker().Name("#=startId#").ToClientTemplate())
</div>
<div class="col-md-3 nopadding">
End: @(Html.Kendo().DatePicker().Name("#=endId#").ToClientTemplate())
</div>
<div class="col-md-1 text-right">
<button type="button" class="k-upload-action"></button>
</div>
</div></script>
這裏的事件處理JS代碼所採集開始&結束日期爲每個文件並構造一個JSON對象與多個文件一起發送到後端。
function onFileUpload(e) {
var fileInfo = getUploadFileMetaData();
var modelAsJson = JSON.stringify(fileInfo);
console.log(modelAsJson);
e.data = {
modelAsJson: modelAsJson
};
}
function getUploadFileMetaData() {
var numOfFiles = $(".k-file .row").length;
var fileInfoArray = [];
for (var i=0; i<numOfFiles;i++){
var fi = {
FileName: $(".k-filename strong")[i].innerText, //Filename is required as is since it'll be our key
PeriodStart: $("#PeriodStart_" + i).data('kendoDatePicker').value(),
PeriodEnd: $("#PeriodEnd_" + i).data('kendoDatePicker').value()
}
fileInfoArray[i] = fi;
}
return fileInfoArray;
}
所以,如果我選擇2個文件上傳我會看到被炒到控制器中的操作,而不是1,2個不同的請求我敢肯定,我沒有看到的東西直線前進和欣賞任何節目,並告訴。
我已經簡化了整個事情很多,仍然未如預期的行爲。這是一個非常簡單的上傳控件,試圖將多個文件作爲一個批次上傳。 ()「。Upload()。Name(」filesTest「)。Async(a => a.Save(」UploadTest「,」Home「)。自動上傳(false).Batch(true))' – Uchitha 2014-10-07 05:39:09
' m使用Kendo.MVC版本 - 2014.2.716.545 – Uchitha 2014-10-07 05:49:54