Delphi — как создать папку с помощью Indy на моей HTTP-странице

#http #delphi #firemonkey #indy10 #idhttp

#http #delphi #firemonkey #indy10 #idhttp

Вопрос:

Кто-нибудь может помочь мне с созданием папки на моем HTTP-сервере (это SanDisk Connect WiFi)

У SanDisk есть собственный адрес: http://172.25.63.1/myconnect /

Я могу с помощью Indy с Android выполнить следующее :

  • загружайте файлы с ->> IdHTTP1.Get
  • загрузите отдельные файлы в ->> IdHTTP1.Put
  • удалить файлы на HTTP ->> IdHttp1.Delete(‘http://172.25.63.1/myconnect/XYZ.pdf ‘,Тстрингстрим.Создать («));

Но я не могу найти метод, как создать КАТАЛОГ (ПАПКУ).

Может ли у кого-нибудь быть лучший опыт, как у меня?

Большое спасибо за вашу помощь

Комментарии:

1. В протоколе HTTP нет команд для создания папок. Вероятно, вам понадобится POST скрипт на стороне сервера, который затем создаст папку.

2. Возможно, вы захотите попробовать MKCOL.

3. Спасибо за советы всем. Пожалуйста, у вас есть какой-нибудь пример с POST? Или любой пример с MKCOL? Спасибо за вашу помощь!

Ответ №1:

Для создания папки на стороне HTTP-сервера требуется, чтобы сервер поддерживал протокол WEBDAV, который является расширением протокола HTTP.

На стороне клиента, Indy в вашем случае, вы должны отправить команду MKCOL на HTTP-сервер. В Indy есть TIdWebDAV компонент, у которого есть DAVMakeCollection() метод отправки MKCOL команды.


Примечание: WebDAV описан в этой спецификации, но не все серверы его реализуют.