Как можно с помощью JavaScript передать файл на сервер?

120
27 ноября 2019, 17:10

На счет картинки понятно - ее можно передать с помощью base64, а как файл?У меня файл 100 мб, я хочу положить его на сервер 192.168.1.1 в главний деректорий!

Answer 1

для этого нам понадобится FormData

var formData = new FormData();
// добавляем файл
formData.append('image', $('input[type=file]')[0].files[0]); 

отправляем аяксом

$.ajax({
    url: 'Your url here',
    data: formData,
    type: 'POST',
    contentType: false, 
    processData: false, 
    // ... другие опции
});

замечание - файл обязательно нужно отправлять методом POST

Answer 2

На чистом javascript это выглядит вот так:

Нужно создать FormData и прикрепить к нему File или Blob:

var formData = new FormData();
formData.append("file", document.querySelector('input').files[0]);

Отправить можно при помощи XMLHttpRequest:

var xhr = new XMLHttpRequest();
xhr.open("POST", "/url");
xhr.send(formData);

Или при помощи fetch:

fetch("/url", {
  method: 'POST',
  body: formData
}).then(function (response) {
   ...
});

Как это сделать при помощи жуквери Вам уже ответили

READ ALSO
Прототипы в JavaScript

Прототипы в JavaScript

Учу прототипы, посмотрел этот пример у Кантора в книгезачем в скобках this прописан?

98
Предотвратить закрытие страницы

Предотвратить закрытие страницы

Ищу способ перехватить событие закрытие вкладкиУ меня имеется редактор графики, реализованный в веб - представлении, и я хочу при случайном/намеренном...

107
Использование класса js

Использование класса js

Создаю popUp в js , не получается скрыть егоПодскажите пожалуйста в чем проблема

127
CKEDITOR5 wyswig

CKEDITOR5 wyswig

Есть такой wyswig под названием Ckeditor5 https://ckeditorcom/docs/ckeditor5/latest/builds/guides/integration/frameworks/vuejs

80