Dropzone图片重新排序

emi*_*mir 6 javascript jquery jquery-ui-sortable dropzone.js

我已使用dropzone通过拖放将多张图片上传到服务器。首先,我选择所有图片,然后在要上传时按按钮,所有文件都上传了。

我想更改它们上载的顺序,并且我正在使用此提示。是否可以对dropzone.js实例中的预览元素进行拖放重新排序?我可以用鼠标拖动来更改顺序。

问题是,当我上传图片时,并未按照更改的顺序进行上传,而是按照我最初将其放在dropzone中的方式上传。

我的dropzone配置为

autoProcessQueue: false,
uploadMultiple: true,
parallelUploads: 3,
clickable: ".add",
previewsContainer: "#previews", 
maxFiles: 5,
Run Code Online (Sandbox Code Playgroud)

小智 5

Html 将如下所示:

<div id="imageUpload" class="dropzone mt-2"></div>
Run Code Online (Sandbox Code Playgroud)

并在js中添加此代码

$(".dropzone").sortable({
    items:'.dz-preview',
    cursor: 'grab',
    opacity: 0.5,
    containment: '.dropzone',
    distance: 20,
    tolerance: 'pointer',
    stop: function () {
      var queue = myDropzone.getAcceptedFiles();
      newQueue = [];
      $('#imageUpload .dz-preview .dz-filename [data-dz-name]').each(function (count, el) {           
            var name = el.innerHTML;
            queue.forEach(function(file) {
                if (file.name === name) {
                    newQueue.push(file);
                }
            });
      });
      myDropzone.files = newQueue;
    }
});
Run Code Online (Sandbox Code Playgroud)

希望这会奏效。