我在Meteor中使用Dropzone.js和CollectionFS。我把它作为包和独立使用。每次我这样做,一切都很好,除非我尝试上传超过1mb的文件(看起来这至少是大小限制)进度条只是挂起而且#34;完成"回调永远不会被调用。我尝试了很多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
非常感谢任何帮助。
答案 0 :(得分:1)
所以结果是dropzone加载并完成一个帖子请求,我想这不是collectionFS或meteor如何处理它... anyhoo我太初学了解这一切。
长话短说,完整永远不会在dropzone中触发,但你可以在'accept'上捕获文件,这是dropzone的选项规范,而不是事件。
所以我解决了这个问题,并使collectionFS图像存储发生在接受选项中,之后只删除图标,看起来非常精细并且工作也很完美!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://keith-wood.name/js/jquery.plugin.js"></script>
<script src="http://keith-wood.name/js/jquery.realperson.js"></script>
<link href="http://keith-wood.name/css/jquery.realperson.css" rel="stylesheet"/>
<input type="text" id="test" />
<form action="#" class="dropzone" id="dropzone"></form>
如果有人对此特定问题需要额外帮助,请发表评论或与我们联系,我们将很乐意为您提供进一步帮助。
答案 1 :(得分:0)
您应该考虑CollectionFS package。它的一个特点是,当将文件上传到任意数量的存储选项(gridFS,S3等等)时,它会将文件分成几部分。