Blueimp JQuery прогресс загрузки файла для отдельных файлов
У меня проблема при попытке выяснить, как сообщать о ходе загрузки отдельных файлов при отправке выбора файлов в рамках одного запроса.
Кажется, что данные о событиях прогресса не содержат указателей на конкретный загружаемый файл.
Это код, который я использую:
$('#fileupload')
.fileupload({
dataType: "json",
singleFileUploads: false, //to ensure that all files are in one request
url: "/api/files/upload",
progressInterval: 100,
add: function(e, data) {
$('#filelistholder').removeClass('hide');
$(data.files)
.each(function(index) {
data.context = $('<div />').text(data.files[index].name).appendTo('#filelistholder');
$('</div><div class="progress progress-striped active"><div class="progress-bar" role="progressbar" style="width:0%"></div></div>').appendTo(data.context);
});
$('#btnUploadAll').click(function() {
data.submit();
});
},
progress: function(e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
//how to get progress for a current file?
},
processalways: { //process does not get called at all...
function(e, data) {
console.log('Process ' + data.files[data.index].name + ' ended.');
}
}
});
Действие контроллера возвращается следующим образом
HttpContext.Current.Response.ContentType = "text/plain";
var result = new Newtonsoft.Json.Linq.JArray();
foreach (HttpContent content in uploadProvider.Contents)
{
var stream = await content.ReadAsStreamAsync();
repository.SaveFile(stream, content.Headers.ContentDisposition.FileName.Replace("\"",""));
dynamic fileObj = new JObject();
fileObj.name = content.Headers.ContentDisposition.FileName.Replace("\"", "");
result.Add(fileObj);
}
HttpContext.Current.Response.Write(JsonConvert.SerializeObject(result));
HttpContext.Current.Response.StatusCode = 200;
return this.StatusCode(HttpStatusCode.OK);
Я также взглянул на некоторые связанные с этим вопросы в SO, такие как загрузка файла Blueimp, как узнать, для какого файла предназначен обратный вызов хода выполнения? но я не смог найти никакого ответа
заранее спасибо