如何使用 Symfony 客户端重命名 webdav 集合?

问题描述

我正在使用带有 Symfony 的 http 客户端。在这个例子中,我正在创建一个文件夹。

 $client = HttpClient::create();

 /* @var $response ResponseInterface */
 $createFolder = $client->request('MKCOL',$filePath,[
     'auth_basic' => [$user,$authKey],]);

效果很好。

现在我想重命名一个文件夹:

 $renameFolder = $client->request('MOVE',]);

但我想不通的是,我在哪里定义新文件名称

解决方法

您似乎正在通过 MKCOL 命令访问 Webdav 服务器。

如果您想使用 MOVE,目标应通过 Destination 标头传递,如 here 所示。

使用 Symfony Http Client,请求将类似于:

$moveCollection =  $client->request('MOVE',$collectionPath,[
     'auth_basic' => [$user,$authKey],'headers'    => [
            'Destination' => $newCollectionPath
        ]
    ]
);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...