2011-12-28 99 views
0

我想用Zend_Rest_client到一个文件发布到某个网址如下文件:发布使用Zend_Rest_Client

$client = new Zend_Rest_Client('http://example.org/'); 
    $client->arg('value1'); 
    $client->arg2('value2'); 
    $client->restPost(); 

我要发布一个文件中请求的主体。这怎么能做到?

回答

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。看起来好像有一些关于补丁的讨论,但是不会出现这个功能将会很快被整合。

+0

感谢您的精彩回应:)其实我已经在寻找解决方案,看起来我必须使用'Zend_HTTP_Client' – Songo 2011-12-28 22:56:02