Nano Hash - криптовалюты, майнинг, программирование

Как отменить загрузку без отображения ошибки?

Я использую Dropzone.js для загрузки изображений. Пока это работает.

Теперь я хотел бы предложить пользователю возможность перетаскивать другие файлы, кроме изображений, в ту же зону дропзоны, но их не следует загружать. Вместо этого я просто хочу обрабатывать их программно на стороне клиента.

Как я могу этого добиться?

Я знаю, что есть функция accept, которую я могу использовать, чтобы проверить, хочу ли я загрузить файл, но это не помогает: если я отклоняю файл, он помечается как ошибка. Я не хочу это.

По сути, мне нужен был способ перехватить загрузку до того, как она действительно начнется, и иметь возможность отменить ее программно. Это возможно?


Ответы:


1

Я думаю, что для этого вам придется отключить autoprocessQueue, чтобы у ВАС была возможность загружать файлы в любое время.

Затем мы можем вручную указать, где мы хотим обработать файл. Пример кода может выглядеть примерно так, как показано ниже, вы можете настроить его по своему усмотрению.

     Dropzone.options.myAwesomeDropzone = {
      maxFiles: 1,
      addRemoveLinks: true,
      autoProcessQueue: false, //heres where you tell it not to upload by itself and wait for you to tell it to upload
      autoDiscover: false,
        accept: function(file, done) {
          console.log("uploaded");
          done();
        },

      init: function() {

        var myDropzone = this; 

        //gets called when max files is reached . In our case its 1 file
        //so it will get called whenever a single file is dragged inside
        this.on("maxfilesreached", function(file){

        //here we check if the image is an image file or not 
        //if : it is not we simple tell the user and remove it 
        //else : just process the uploaded file
           if(file.type != "image/jpeg" && file.type != "image/png") {
               alert("Only Image file allowed for uploading");
                this.removeFile(file); //remove the file
             }else{
                 myDropzone.processQueue(); //upload the image file
              }

        });

        //this will get called when max files exceeds . in our case its 1 file
        //so it will get called whenever someone tries to upload more than 1 file
        this.on("maxfilesexceeded", function(file){

           //you can check fir filetypes that you want to allow like we did it above  
           //Do whatever client side extra stuff you want to do with the file

        });


      } //end of init

   };

Попробуйте и посмотрите, работает ли это для вас.

22.03.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..