【问题标题】:Sending ByteArray to Zend_Amf发送 ByteArray 到 Zend_Amf
【发布时间】:2009-02-25 11:49:45
【问题描述】:

我在将 ByteArray 发送到我的 Zend_Amf_server 时遇到问题。我从服务器收到一个 NetConnection.Bad.Call。如果我发送一个具有另一种数据类型的变量,那么 ByteArray 它工作正常。

我之前在 AMFPHP 中使用过相同的脚本,没有任何问题。但是对于这个项目,我真的需要它才能在 Zend_Amf 中工作。

AS3:

var path:String = "/images/picture.jpg";
var ba:ByteArray = jpgencoder.encode(bitmap.bitmapData);

var nc:NetConnection = new NetConnection();
nc.connect(zend_amf_server);

nc.call("Service.saveJPG", new Responder(responseHandler, errorHandler), path, ba);

PHP:

class Service{
    public function saveJPG($path, $byteArray){
             return "worked";
    }
}

【问题讨论】:

    标签: php actionscript-3 zend-framework bytearray amf


    【解决方案1】:

    今晚我在 Zend AMF 中遇到了同样的错误,它对以前在 AMF 中工作的代码做了基本相同的事情。这就是我所拥有的。我发现与您的代码唯一不同的是我只是将 ByteArray 传递给 Zend,并且我明确设置了 ObjectEncoding。

    我一直在服务器上获得空的 jpg,因为我在其他地方读到了我需要做的 ->data 以获取 ByteArray 数据。

    AS3:

    _service = new NetConnection();
    _service.objectEncoding = ObjectEncoding.AMF3;
    _responder = new Responder(this._onSuccess, this._onError);
    _service.connect(zend_amf_server);
    
    var myEncoder:JPGEncoder = new JPGEncoder( qualityValue );
    var myCapStream:ByteArray = myEncoder.encode ( myBitmapSource ); // myBitmapSource is BitmapData drawn from a Sprite
    this._service.call("Remote.savePhotoToServer", this._responder, myCapStream);
    

    PHP:

    function savePhotoToServer ( $pInfos )
    {       
        $bytearray = $pInfos;       
        $idimage = $this->nameImage(".jpg"); // calls a private func for a new name
        return ( $success = file_put_contents("./_photos/".$idimage, $bytearray) ) ? $idimage : $success;
    }
    

    【讨论】:

      【解决方案2】:

      感谢大卫的回复,问题似乎是我向 Zend_Amf 发送了一个字节数组和一个字符串。 如果我只发送 ByteArray,它可以正常工作并保存图像。

      现在唯一的问题是保存图像的路径应该是可变的,我不能将它与 ByteArray 同时发送到我的 Amf_Server。

      【讨论】:

        【解决方案3】:

        好的,我发现了问题。我在最新的 'tag' 存储库 v. 1.7.5 中使用 Zend Framework 我将 AMF 的存储库切换到了 'trunk' 存储库,现在它可以工作了。向 Zend_Amf_Server 发送数组时存在错误。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-11-24
          • 1970-01-01
          • 2023-03-22
          • 2010-11-23
          相关资源
          最近更新 更多