Zend_Amf için ByteArray gönderme

3 Cevap php

Benim Zend_Amf_server üzerinde ByteArray gönderirken sorunlar yaşıyorum. Ben geri sunucudan bir NetConnection.Bad.Call olsun. Ben başka bir veri türü ile bir değişken gönderirseniz o ByteArray iyi çalışıyor.

Ben herhangi bir sorun witouth AMFPHP ile daha önce aynı komut kullanılır. Ama bu proje için gerçekten Zend_Amf çalışmak için bu gerekiyor.

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";
    }
}

3 Cevap

Ben temelde daha önce AMF çalışmış kodu ile aynı şeyi yapıyor Zend AMF gece aynı hatayı alıyordum. İşte o çalışıyor ne var. Ben senin kodundan farklı nokta tek bit sadece Zend için ByteArray geçen kulüpler ve ben açıkça ObjectEncoding kuruyorum olduğunu.

ByteArray veri almak için> verileri - Ben yapmam gereken başka bir yerde okumak istiyorum çünkü sunucu üzerinde boş jpgs elde etti.

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;
}

Thanks David for your reply, the problem seemed to be that I sent a ByteArray to Zend_Amf together with a String. If I send the ByteArray only it works fine and the Image is saved.

Tek sorun şimdi yol değişken olması gerektiği üzerinde görüntü kaydetmek için ve ben aynı anda ByteArray ile birlikte benim Amf_Server üstü göndermek edemezler.

Tamam, sorun bulundu. Ben 'gövde' depo AMF için depo açık ve şimdi çalışıyor son 'etiketi' depo v 1.7.5 de Zend Framework kullanarak edildi. Buna Dizileri üzerine gönderirken Zend_Amf_Server bir hata vardı.