Uncaught DOMException: не удалось выполнить readAsDataURL для FileReader: объект уже занят чтением BLOB-объектов - PullRequest
0 голосов
/ 17 июня 2019

Моя проблема заключается в том, что я перетаскиваю изображения на страницу веб-сайта в независимые места размещения. Каждая локация имеет свой уникальный идентификатор. Это прекрасно работает, если вы перетащите несколько магазинов на первое место. Но если вы попытаетесь перетащить их во второе место, FileReader сообщит о его занятости и ошибках.

Я искал этот сайт, Google и документацию jquery plus FileReader. Я не могу найти ответ. Я думаю, что тот факт, что я использую прокси, заставляет его никогда не закрываться.

Так что мой вопрос - как закрыть его после каждой капли или как исправить, чтобы он закрылся сам.

$(document).on('dragover dragenter', '.imagedroppable', function(e){
      thisVal = this;
      e.preventDefault();
      e.stopPropagation();
    }).on('drop', $(this).attr('id'), function(e, ui){

      var dataTransfer = e.originalEvent.dataTransfer;
      if (dataTransfer && dataTransfer.files.length) {
        e.preventDefault();
        e.stopPropagation();

        $.each(dataTransfer.files, function(i, file) {
        // Make sure `file.name` matches our extensions criteria
            if ( /\.(jpe?g|png|gif)$/i.test(file.name) ) {
                (function(file) {
                  var reader = new FileReader();
                  reader.onload = $.proxy(
                                    function(file, $fileList, event) {
                                        nr++;
                                        var img = file.type.match('image.*') ? "<img  id=\"resizable"+nr+"\" class=\"resizable\" src='" + event.target.result + "' /> " : "";
                                        $(thisVal).find($fileList).prepend($("<span>").append(img));
                                        setResizable("resizable"+nr);
                                      }, this, file, $("#fileList"));
                  reader.readAsDataURL(file);
                })(file);
            }
        });
      }
     // Build check for if its dropping on an image spot
     $(this).find(".imageinfo").remove();

  });

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...