为什么上传多个文件到S3时,只执行一次Slingshot uploader回调



每次上传实例化一个SlingShot uploader来处理多个文件上传。

更具体地说:

  1. 我渲染一个模板每次上传在我的_.each循环使用Blaze.renderWithData(Template.uploadItem, file, targetNode);。见下面的循环:

'change .fileBrowse':function(event, template){ _.each(event.currentTarget.files, function(file){ //...

  • 我在_.each循环中填充的本地集合中跟踪每个上传状态(进度除外)的状态。

  • 我实例化SlingShot uploader在我的Template.uploadItem.created函数通过附加它到我的模板实例对象(即this.uploader = new Slingshot.Upload( ...)

  • 我使用Template.instance().uploader到达它,如progress helper代码所示

    progress: function () { return Math.round(Template.instance().uploader.progress() * 100); }

  • 问题:当最后一个文件被发布时,uploader回调只被调用一次。其他一切工作正常,但我不能更新我的UI,因为状态没有更新在我的本地集合,因为它应该是当回调执行。

    好,问题解决了,这是一个愚蠢的错误:我使用了一个公共变量来存储文件名,所以它从一个模板窃取到另一个。

    最新更新