簡體   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