Требуется ли для размещения файла тег <form>и кнопка? - PullRequest
1 голос
/ 28 марта 2019

У меня есть опция в заголовке моего веб-приложения, чтобы выбрать файл с <input type='file'/>, и я хочу, чтобы, как только файл был выбран, он начал загружать его на мой локальный сервер nodejs.

СделатьМне нужно заключить его в тег с атрибутом POST и подтвердить кнопкой?И / или возможно ли вызывать POSTing сразу, когда файл выбран вместо использования кнопки?

1 Ответ

1 голос
/ 28 марта 2019

Вы устанавливаете событие onchange для <input type="file" id="input"> вяз.

Javascript

let input = document.getElementById('input');
input.onchange = function(e) { 
  if (file.files.length > 1) {
     // Upload
  }
};

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

Пример

const input = document.getElementById('input');

function upload(file) {
  fetch('http://', {
    method: 'POST',
    headers: {
      'Content-type': 'file-type'
    },
    body: file
  }).then(() => {

  }).catch((error) => {
    // Errors
    console.log('Log the error, since we are demoing');
  })
}

let chosen = () => {
    try {
       upload(input.files[0]);
    } catch(error) {

    }
}

input.addEventListener('change', chosen, false);
<input type="file" id="input" />
...