Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我设置上传图像的限制计数时,dropzone.js如何考虑预加载图像?_Javascript_Image_Dropzone.js - Fatal编程技术网

Javascript 当我设置上传图像的限制计数时,dropzone.js如何考虑预加载图像?

Javascript 当我设置上传图像的限制计数时,dropzone.js如何考虑预加载图像?,javascript,image,dropzone.js,Javascript,Image,Dropzone.js,加载dropzone.js组件时,我会预加载一组图像,如中所述。我的问题是,我需要限制最大上传量为5张图片,但是dropzone不计算我预加载的图片,所以我可以上传“更多的5张图片”。如何修复此问题?您需要将maxFiles设置为5。进一步搜索网络,发现一旦maxFiles达到规定的文件数量,一个classdz max files reach现在添加到主元素中。有了这个新特性,您现在可以在类存在的情况下进行操作。这是更改项您需要将maxFiles设置为5。进一步搜索网络,发现一旦maxFiles

加载dropzone.js组件时,我会预加载一组图像,如中所述。我的问题是,我需要限制最大上传量为5张图片,但是dropzone不计算我预加载的图片,所以我可以上传“更多的5张图片”。如何修复此问题?

您需要将maxFiles设置为5。进一步搜索网络,发现一旦maxFiles达到规定的文件数量,一个class
dz max files reach
现在添加到主元素中。有了这个新特性,您现在可以在类存在的情况下进行操作。这是更改项

您需要将maxFiles设置为5。进一步搜索网络,发现一旦maxFiles达到规定的文件数量,一个class
dz max files reach
现在添加到主元素中。有了这个新特性,您现在可以在类存在的情况下进行操作。这是对我有用的更改项

var myDropzone = new Dropzone("#div",{
    addRemoveLinks: true,
    maxFiles: 5,
    init: function() {
        var thisDropzone = this;
        $.getJSON('/upload', function(data) { // get the json response
            $.each(data, function(key,value){ //loop through it
                var mockFile = { name: value.name, size: value.size };
                thisDropzone.options.addedfile.call(thisDropzone, mockFile);
                thisDropzone.options.thumbnail.call(thisDropzone, mockFile, value.url);
                thisDropzone.files.push(mockFile)       
            });
        });
    }
 });
myDropzone.on("maxfilesexceeded", function(file) {
  this.removeFile(file);
})


myDropzone.on("addedfile", function(file) {
    if(this.files.length > 5){
        for(var i=maxScreenshots;i<=this.files.length;i++)
            this.removeFile( this.files[i] )    
            alert("Maximum 5 Screenshot can be added")
            return;
    }
});
var myDropzone=newdropzone(#div){
addRemoveLinks:是的,
最大文件数:5,
init:function(){
var thisDropzone=this;
$.getJSON('/upload',函数(数据){//获取json响应
$.each(数据、函数(键、值){//循环遍历它
var mockFile={name:value.name,size:value.size};
thisDropzone.options.addedfile.call(thisDropzone,mockFile);
thisDropzone.options.缩略图.call(thisDropzone,mockFile,value.url);
thisDropzone.files.push(mockFile)
});
});
}
});
myDropzone.on(“MaxFilesExcepended”,函数(文件){
此.removeFile(文件);
})
myDropzone.on(“addedfile”,函数(文件){
如果(this.files.length>5){
对于(var i=maxScreenshots;我这对我很有用

var myDropzone = new Dropzone("#div",{
    addRemoveLinks: true,
    maxFiles: 5,
    init: function() {
        var thisDropzone = this;
        $.getJSON('/upload', function(data) { // get the json response
            $.each(data, function(key,value){ //loop through it
                var mockFile = { name: value.name, size: value.size };
                thisDropzone.options.addedfile.call(thisDropzone, mockFile);
                thisDropzone.options.thumbnail.call(thisDropzone, mockFile, value.url);
                thisDropzone.files.push(mockFile)       
            });
        });
    }
 });
myDropzone.on("maxfilesexceeded", function(file) {
  this.removeFile(file);
})


myDropzone.on("addedfile", function(file) {
    if(this.files.length > 5){
        for(var i=maxScreenshots;i<=this.files.length;i++)
            this.removeFile( this.files[i] )    
            alert("Maximum 5 Screenshot can be added")
            return;
    }
});
var myDropzone=newdropzone(#div){
addRemoveLinks:是的,
最大文件数:5,
init:function(){
var thisDropzone=this;
$.getJSON('/upload',函数(数据){//获取json响应
$.each(数据、函数(键、值){//循环遍历它
var mockFile={name:value.name,size:value.size};
thisDropzone.options.addedfile.call(thisDropzone,mockFile);
thisDropzone.options.缩略图.call(thisDropzone,mockFile,value.url);
thisDropzone.files.push(mockFile)
});
});
}
});
myDropzone.on(“MaxFilesExcepended”,函数(文件){
此.removeFile(文件);
})
myDropzone.on(“addedfile”,函数(文件){
如果(this.files.length>5){

对于(var i=maxScreenshots;i我已经有很长一段时间遇到了相同的问题,在研究插件后,我找到了解决问题的方法。当尝试预加载现有图像时,您必须向模拟对象添加一个名为“accepted:true”的键,如下所示:

var mockFile={name:value.name,size:value.size,accepted:true};

发生这种情况的原因是,this.getAcceptedFiles()方法会检查文件对象上的accepted键。如果预加载图像,则必须将其作为对象的一部分,以便插件知道图像已被接受,并且是图像总数的一部分

我希望这对你们所有人都有效


如果它在其他地方破坏了任何东西,请告诉我…

我已经有很长一段时间遇到了相同的问题,在研究该插件后,我找到了解决问题的方法。在尝试预加载现有图像时,您必须向模拟对象添加一个名为“accepted:true”的键,如下所示:

var mockFile={name:value.name,size:value.size,accepted:true};

发生这种情况的原因是,this.getAcceptedFiles()方法会检查文件对象上的accepted键。如果预加载图像,则必须将其作为对象的一部分,以便插件知道图像已被接受,并且是图像总数的一部分

我希望这对你们所有人都有效


如果它在其他地方破坏了任何东西,请告诉我…

是的,我知道这一点,并且我将maxFiles设置为5,并且在我不预加载图像时可以完美地工作。我的问题(可能是dropzone错误)是,当我通过
myDropzone.options.addedfile.call(thisDropzone,mockFile)预先设置dropzone时,会有大量的文件
,此图像不在限制范围内,即,如果我预加载2个图像,则dropzone不会达到限制,直到我再上载5个文件,即总共7个文件。预加载图像的数量取决于用户过去上载的文件数量。是的,我知道这一点,并且我将maxFiles设置为5,并且在我不预加载时工作正常我的问题(可能是一个dropzone bug)是当我通过
myDropzone.options.addedfile.call(thisDropzone,mockFile)用大量文件预先设置dropzone时;
,此图像不在限制范围内,即如果我预加载2个图像,则dropzone不会达到限制,直到我再上载5个文件,即总共7个文件。预加载图像的数量取决于用户过去上载的文件数量。