我想使用Zend_Rest_client
将文件发布到某个网址,如下所示:
$client = new Zend_Rest_Client('http://example.org/');
$client->arg('value1');
$client->arg2('value2');
$client->restPost();
我想在请求正文中发布一个文件。怎么可以这样做?
答案 0 :(得分:2)
此时不可能。虽然您可以访问其余客户端使用的基础Zend_Http_Client对象,但在执行其余请求之前会重置传递给它的所有选项。
由于此重置,您将无法上传文件,因为Zend_Rest_Client不支持它。
restPost的函数体如下:
public function restPost($path, $data = null)
{
$this->_prepareRest($path);
return $this->_performPost('POST', $data);
}
不幸的是,_prepareRest()
调用self::getHttpClient()->resetParameters()->setUri($this->_uri);
会清除您设置的任何文件上传或其他帖子参数,目前无法阻止它。
在Zend Framework问题跟踪器上查看此问题Cannot send file using Zend_Rest_Client。看起来有一些关于补丁的讨论,但似乎不会很快集成这个功能。