Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

blaro



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

"use strict";
 
let dropArea=document.getElementById("dragndroparea");
 
let filesDone = 0;
let filesToDo = 0;
let progressBar = document.getElementById('progress-bar');
 
['dragenter','dragover', 'dragleave','drop'].forEach(eventName=>{
    dropArea.addEventListener(eventName,preventDefaults,false);
});
 
function preventDefaults(e){
    e.preventDefault();
    e.stopPropagation();
}
 
['dragenter','dragover'].forEach(eventName=>{
    dropArea.addEventListener(eventName,hilight,false);
});
['dragleave','drop'].forEach(eventName=>{
    dropArea.addEventListener(eventName,unhilight,false);
});
 
function hilight(e){
    dropArea.classList.add('hilight');
}
 
function unhilight(e){
    dropArea.classList.remove('hilight');
}
 
dropArea.addEventListener('drop',handleDrop,false);
function handleDrop(e){
  let dt=e.dataTransfer;
  let files=dt.file;
  handleFiles(files);
}
 
function previewFile(file) {
  let reader = new FileReader();
  reader.readAsDataURL(file);
  reader.onloadend = function() {
    let img = document.createElement('img');
    img.src = reader.result;
    document.getElementById('gallery').appendChild(img);
  }
}
 
function handleFiles(files) {
  files = [...files];
  initializeProgress(files.length);
  files.forEach(uploadFile);
  files.forEach(previewFile);
}
 
function initializeProgress(numfiles) {
  progressBar.value = 0
  filesDone = 0
  filesToDo = numfiles;
}
function progressDone() {
  filesDone++;
  progressBar.value = filesDone / filesToDo * 100;
}
   
function uploadFile(file) {
  let url = '/image/upload';
  let formData = new FormData();
  formData.append('file', file);
  fetch(url, {
    method: 'POST',
    body: formData
  })
  .then(progressDone) // <- Добавим вызов `progressDone` здесь
  .catch(() => { alert("Something went wrong!") })
}

Всего записей: 311 | Зарегистр. 29-01-2006 | Отправлено: 07:00 05-10-2020
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru