繁体   English   中英

Dropzone会挂在大于1mb的文件上

[英]Dropzone hangs on files larger than 1mb

我在Meteor中使用Dropzone.js和CollectionFS。 我既将其作为软件包使用,也将其独立使用。 每次我做的时候,一切都很好,除非我尝试上传超过1mb的文件(至少看起来是大小限制),进度条只是挂起,而“ complete”回调永远不会被调用。 我尝试了很多Dropzone选项,但似乎没有任何解决方案。 这就是我所拥有的:

Javascript:

Template.projectsNew.rendered = ->
   Meteor.dropzone = new Dropzone '#dropzone',
      url: '/'
      maxFilesize: 5
      maxFiles: 50
      maxThumbnailSize: 5
      init: ->
         @on 'complete', (file) ->
            Files.insert file, (error, fileObject) ->
               if error
                  console.log "Error: #{error}"
               else
                  uploadedFileIds = Session.get 'uploadedFileIds'
                  uploadedFileIds.push fileObject._id
                  Session.set 'uploadedFileIds', uploadedFileIds

HTML:

 fieldset
    legend Documents

    #dropzone.dropzone

任何帮助将不胜感激。

万一其他人被卡住了……我也遇到了同样的问题,而且完全被卡住了……经过4个多小时的撞墙终于解决了。

所以原来是dropzone负载并完成了一个发布请求,我想那不是collectionFS或流星如何处理它的。。。。。。。。。。。。。。。。。

长话短说, 完整的文件永远不会在dropzone中触发 ,但是您可以在“ accept”(这是dropzone的一个选项说明)而非事件的情况下捕获文件。

因此,我解决了这个问题,并使collectionFS映像存储发生在accept选项中,然后仅删除了该图标,它看起来非常好,并且效果也很好!

<form action="#" class="dropzone" id="dropzone"></form>
var myDropzone = new Dropzone("#dropzone", {
  accept(file) {
    if (file.status == 'added') {

      var newFile = new FS.File(file);

      Images.insert(newFile, function (error, fileObj) {
        if (error) {
          ...
        }
          else {
            ...
          }

            // clear out dropzone
            myDropzone.removeFile(file);
          }
        });
      }
    }
});

如果有人在此特定问题上需要其他帮助,请发表评论或联系我们,我们很乐意为您提供进一步的帮助。

您应该考虑CollectionFS软件包 它的功能之一是在将文件上传到任意数量的存储选项(gridFS,S3等)时将文件分解成碎片

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM