Delphi - 如何在我的 HTTP 页面上通过 Indy 创建文件夹

问题描述

谁能帮我在我的 HTTP 服务器(它是 Sandisk Connect WiFi)上创建文件

Sandisk 有自己的地址:http://172.25.63.1/myconnect/

我可以通过 Android 的 Indy 执行以下操作:

  • 从 ->> IdHTTP1.Get 下载文件
  • 将分离的文件上传到->> IdHTTP1.Put
  • 删除 HTTP 上的文件 ->> IdHttp1.Delete('http://172.25.63.1/myconnect/XYZ.pdf',TStringStream.Create(''));

但是我找不到方法,如何创建目录(文件夹)。

有人能像我一样有更好的体验吗?

非常感谢您的帮助

解决方法

在 HTTP 服务器端创建文件夹需要服务器支持 WEBDAV protocol,它是 HTTP 协议的扩展。

在客户端,在您的情况下,您必须将 MKCOL 命令发送到 HTTP 服务器。 Indy 有一个 TIdWebDAV 组件,该组件具有用于发送 DAVMakeCollection() 命令的 MKCOL 方法。

注意:此 specifications 中描述了 WebDav,但并非所有服务器都实现它。