Есть ли html компонент загрузки файла без бэкэнда, только по webdav?

Ссылка скопирована
12 февраля 2026 1 ответ

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

Дополнительно:

Ответы:

Вот здесь есть пример того, как выглядит заливка файла с точки зрения заголовков:

Есть ли html компонент загрузки файла без бэкэнда, только по webdav?

На мой взгляд вполне реально через браузер сварганить такого вида PUT-запрос.

P. S. Вот, вроде бы есть готовая либа для работы с webdav из браузер, тестируй:
https://www.webdavsystem.com/ajax/programming/file...

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Дмитрий К. Ответ

Да, есть способ загрузки файла без использования бэкэнда, только через WebDAV. WebDAV (Web Distributed Authoring and Versioning) - это протокол, который позволяет клиентским приложениям создавать, изменять и удалять ресурсы на удаленном сервере.

Чтобы реализовать загрузку файла через WebDAV без бэкэнда, вам нужно будет создать HTML-форму для выбора файла и отправки его на сервер. Затем вы можете использовать JavaScript для отправки файла на сервер с помощью WebDAV.

Пример HTML-кода для формы загрузки файла:

 

Пример JavaScript-кода для отправки файла на сервер с помощью WebDAV:

document.getElementById('uploadForm').addEventListener('submit', function(e) {
  e.preventDefault();
 
  var fileInput = document.querySelector('input[type="file"]');
  var file = fileInput.files[0];
 
  var xhr = new XMLHttpRequest();
  xhr.open('PUT', 'https://example.com/upload/' + file.name, true);
  xhr.send(file);
 
  xhr.onload = function() {
    if (xhr.status === 200) {
      console.log('File uploaded successfully');
    } else {
      console.error('File upload failed');
    }
  };
});

document.getElementById('uploadForm').addEventListener('submit', function(e) { e.preventDefault(); var fileInput = document.querySelector('input[type="file"]'); var file = fileInput.files[0]; var xhr = new XMLHttpRequest(); xhr.open('PUT', 'https://example.com/upload/' + file.name, true); xhr.send(file); xhr.onload = function() { if (xhr.status === 200) { console.log('File uploaded successfully'); } else { console.error('File upload failed'); } }; });

Этот код создает форму для выбора файла и отправляет его на сервер с использованием метода PUT через XMLHttpRequest. Пожалуйста, помните, что некоторые браузеры могут блокировать запросы к другим доменам из-за политики безопасности CORS (Cross-Origin Resource Sharing), поэтому убедитесь, что сервер поддерживает CORS или используйте прокси-сервер для обхода этой проблемы.

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

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно