问题:我需要一次上传几个不同的文件。将文件上载到服务器后,它们将导入到数据库中。当所有文件都已上传时导入,我需要调用一个最终的数据库程序来处理导入。
$("#igUpload1").on("iguploadfileuploaded", function (e, ui) {
fileCounter++;
// calling webmethod to process the file on server side
$.ajax({
type: 'POST',
url: '<%= HttpContext.Current.Request.Url.AbsoluteUri + "/processFile" %>',
data: '{ fileName: "' + ui.filePath + '"}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg) {
log(msg.d);
// When the last file has been proccessed, I need to call another webmethod!
}
});
});
我的第一种方法是将fileCounter与要上传的文件数进行比较,当上传和导入最后一个文件时,我会调用最终的导入方法。 遗憾的是,这不起作用,因为导入的最后一个文件可能比早期文件之一更快。
此外,将上传的文件数量可能会有所不同。
我该怎么做?是jquery队列,还是deferred
,可能的解决方案?