When I use ba without toString() amfphp says "Object of class ByteArray
could not be converted to string".
I think there is something to be done in the php to convert the data back
from string into binary data, but I cannot find it out.

Ideas?

On Sat, Aug 16, 2008 at 9:02 PM, Juan Pablo Califano <
[EMAIL PROTECTED]> wrote:

> I haven't used amfphp extensively, but it might be a problem in the type
> of data amfphp expects... I'm not sure this is a good idea:
>
> ba.toString()
>
> As with a JPG you'll sure get lots of 0's in the ByteArray; parsed as a
> char
> in a string, a 0 value is what's known as an embedded null, which
> traditionally is used to signal the end of the string, so probably at some
> point the data is being truncated.
>
> Maybe if you just send the ByteArray object, amfphp will figure out the
> type
> of the object and will be able to deserialize it correctly. I think that's
> the whole idea behind amfphp, it automatically serializes and deserializes
> native objects using the amf format.
>
>
> Cheers
> Juan Pablo Califano
>
>
> 2008/8/16, Omar Fouad <[EMAIL PROTECTED]>:
> >
> > well I've been trying this amfphp and it does not work. amfphp responds
> > back
> > an error saying "amfphp_runtime_error".
> >
> > I have this php file in the services dir which hace this function  that I
> > call throuh actionscript
> >
> > function getData($image)
> > {
> >        $data = mysql_query("Insert into table01 (image) values
> > ('$image')");
> >        if($data == null) {
> >           return false;
> >        }eles{
> >           return true;
> >       }
> > }
> >
> > in the mysql database there is a longblob field image and in fd I wrote:
> >
> > [Embed(source = 'mail[1].jpg')]
> >        private var _img:Class;
> >        private var img:Bitmap = new _img();
> >
> >        private var gw:NetConnection;
> >        private var res:Responder;
> >        private var TF:TextField = new TextField();
> >
> >        private var ba:ByteArray;
> >        private var encoder:JPGEncoder;
> >        private var bd:BitmapData;
> >
> >        public function Main():void {
> >
> >            TF.autoSize  = TextFieldAutoSize.LEFT;
> >            addChild(TF);
> >
> >            bd = new BitmapData(img.width, img.height);
> >            bd.draw(img);
> >            encoder = new JPGEncoder(90);
> >            ba = encoder.encode(bd);
> >
> >            gw = new NetConnection();
> >            gw.connect("http://localhost/amfphp/amfphp/gateway.php";);
> >            res = new Responder(onResult, onFault);
> >            gw.call("Test.getData", res, ba.toString());
> >        }
> >
> >        private function onResult(responds:Object):void {
> >            TF.text = String(responds);
> >        }
> >
> >        private function onFault(responds:Object):void {
> >            for (var i:* in responds) {
> >                    TF.text = String(responds[i]);
> >            }
> >        }
> >
> > Is there something I missed in the AS or PHP?
> >
> > Thanks
> >
> >
> >
> > On Sat, Aug 16, 2008 at 2:16 AM, Omar Fouad <[EMAIL PROTECTED]>
> > wrote:
> >
> > > Thanks.. I will try this now and feed you back.
> > >
> > >
> > >
> > > On Sat, Aug 16, 2008 at 1:41 AM, Juan Pablo Califano <
> > > [EMAIL PROTECTED]> wrote:
> > >
> > >> Yes. Using that particular class I mentioned, from the php side you'd
> > >> receive the data like a regular html form post with multipart-encode,
> > that
> > >> means, you can retrieve the text variables you want to send with
> > >> $_POST['someVar'] and the file (or files) with $_FILES['varName'] (or
> > the
> > >> name you choose). Treat it like if it were a html form.
> > >>
> > >> To add a text field to the form use the add
> > addField("varName","varValue")
> > >> method; to add a file, use addFile("varName", jpgByteArray,
> > >> "originalFileName", imageMimeType);
> > >>
> > >> For "originalFileName", use whatever you want, like "image.jpg", it
> > >> doesn't
> > >> really matter. That's what you'll get with $_FILES['varName']['name'].
> > For
> > >> the imageMimeType, use the constant in the class for JPG.
> > >>
> > >>
> > >> Cheers
> > >> Juan Pablo Califano
> > >>
> > >> 2008/8/15, Omar Fouad <[EMAIL PROTECTED]>:
> > >> >
> > >> > I guess I can send the ByteArray to the php that will handle its
> > >> insertion
> > >> > to the database. Right?
> > >> >
> > >> > On Fri, Aug 15, 2008 at 7:07 PM, Juan Pablo Califano <
> > >> > [EMAIL PROTECTED]> wrote:
> > >> >
> > >> > > With the newest player, I think, it's possible to save data into
> the
> > >> > USER's
> > >> > > hard drive without a trip to the server, but you want to store the
> > >> data
> > >> > on
> > >> > > the server side, you need to send it to the server...
> > >> > >
> > >> > > You have to post that data using a URLLoader object, and
> specifying
> > >> the
> > >> > > input as binary data.
> > >> > >
> > >> > > I've wrapped up some code to do that and being able to pass
> > variables
> > >> as
> > >> > > well. If you want to check it out:
> > >> > >
> > >> > > http://pastebin.com/f11a897cf
> > >> > >
> > >> > > (Sorry, comments are in Spanish, but the indentifiers are in
> > English)
> > >> > >
> > >> > > A example of use (it's a copy & paste from some wortking code,
> just
> > to
> > >> > give
> > >> > > you an idea):
> > >> > >
> > >> > >
> > >> > > import ar.com.califa010.utils.FormData;
> > >> > >
> > >> > >   // getEncodedImg() is a method that returns a JPG as a byteArray
> > >> > >
> > >> > >   var rawJpg:ByteArray = getEncodedImg();
> > >> > >   var formData:FormData = new FormData();
> > >> > >
> > >> > >   var imageMimeType:String = FormData.JPG_FILE;
> > >> > >   var fileName:String = "imageFile.jpg";
> > >> > >
> > >> > >   formData.addFile("imageFile", rawJpg, fileName, imageMimeType);
> > >> > >
> > >> > >
> > >> > >   formData.addField("sFormat",imgFormat);
> > >> > >   formData.addField("idImagen",_idImagen);
> > >> > >
> > >> > >   var req:URLRequest  = new URLRequest(url);
> > >> > >
> > >> > >   req.method   = "POST";
> > >> > >   req.contentType  = formData.contentType;
> > >> > >   req.data   = formData.getPostData();
> > >> > >
> > >> > >   var loader:URLLoader = new URLLoader();
> > >> > >   configureListeners(loader);
> > >> > >
> > >> > >    loader.load(req);
> > >> > >
> > >> > >
> > >> > >
> > >> > > 2008/8/15, Omar Fouad <[EMAIL PROTECTED]>:
> > >> > > >
> > >> > > > I see, all those tutorials shows how to save the image on the
> Hard
> > >> > Drive
> > >> > > > (now with flash player is possible to do this without any server
> > >> side
> > >> > > > script).
> > >> > > >
> > >> > > > But considering my question, what I should be putting in my
> > database
> > >> > row,
> > >> > > > the byteArray encoded by JPGEncoder?
> > >> > > > Is there a method into this class that takes the ByteArray from
> > the
> > >> > > > database
> > >> > > > back, and translates it into a bitmap to be shown in the swf?
> > >> > > >
> > >> > > > On Fri, Aug 15, 2008 at 12:42 PM, Glen Pike <
> > >> [EMAIL PROTECTED]
> > >> > > > >wrote:
> > >> > > >
> > >> > > > > Hi,
> > >> > > > >
> > >> > > > >   Sorry, I put this in the wrong thread before - here is my 2c
> > >> > > > >
> > >> > > > >   Hi,
> > >> > > > >
> > >> > > > >  There are a few examples on the www about sending Bitmap data
> > to
> > >> the
> > >> > > > > server Mario's is a good starting point -
> > >> > > > > http://www.quasimondo.com/archives/000572.php      Anyway,
> > there
> > >> are
> > >> > > > other
> > >> > > > > examples about which do compression/decompression on your data
> > so
> > >> you
> > >> > > > could
> > >> > > > > save it into your DB too..
> > >> > > > >
> > >> > > > >  Hope this is useful
> > >> > > > >
> > >> > > > >  Glen
> > >> > > > > --
> > >> > > > >
> > >> > > > > Glen Pike
> > >> > > > > 01326 218440
> > >> > > > > www.glenpike.co.uk <http://www.glenpike.co.uk>
> > >> > > > >
> > >> > > > >
> > >> > > > > ______________________________________________
> > >> > > > > Flashcoders mailing list
> > >> > > > > Flashcoders@chattyfig.figleaf.com
> > >> > > > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >> > > > >
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > --
> > >> > > > Omar M. Fouad - Digital Emotions
> > >> > > > http://www.omarfouad.net
> > >> > > >
> > >> > > > This e-mail and any attachment is for authorised use by the
> > intended
> > >> > > > recipient(s) only. It may contain proprietary material,
> > confidential
> > >> > > > information and/or be subject to legal privilege. It should not
> be
> > >> > > copied,
> > >> > > > disclosed to, retained or used by, any other party. If you are
> not
> > >> an
> > >> > > > intended recipient then please promptly delete this e-mail and
> any
> > >> > > > attachment and all copies and inform the sender. Thank you.
> > >> > > > _______________________________________________
> > >> > > > Flashcoders mailing list
> > >> > > > Flashcoders@chattyfig.figleaf.com
> > >> > > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >> > > >
> > >> > > _______________________________________________
> > >> > > Flashcoders mailing list
> > >> > > Flashcoders@chattyfig.figleaf.com
> > >> > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >> > >
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > Omar M. Fouad - Digital Emotions
> > >> > http://www.omarfouad.net
> > >> >
> > >> > This e-mail and any attachment is for authorised use by the intended
> > >> > recipient(s) only. It may contain proprietary material, confidential
> > >> > information and/or be subject to legal privilege. It should not be
> > >> copied,
> > >> > disclosed to, retained or used by, any other party. If you are not
> an
> > >> > intended recipient then please promptly delete this e-mail and any
> > >> > attachment and all copies and inform the sender. Thank you.
> > >> > _______________________________________________
> > >> > Flashcoders mailing list
> > >> > Flashcoders@chattyfig.figleaf.com
> > >> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >> >
> > >> _______________________________________________
> > >> Flashcoders mailing list
> > >> Flashcoders@chattyfig.figleaf.com
> > >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >>
> > >
> > >
> > >
> > > --
> > > Omar M. Fouad - Digital Emotions
> > > http://www.omarfouad.net
> > >
> > > This e-mail and any attachment is for authorised use by the intended
> > > recipient(s) only. It may contain proprietary material, confidential
> > > information and/or be subject to legal privilege. It should not be
> > copied,
> > > disclosed to, retained or used by, any other party. If you are not an
> > > intended recipient then please promptly delete this e-mail and any
> > > attachment and all copies and inform the sender. Thank you.
> > >
> >
> >
> >
> > --
> > Omar M. Fouad - Digital Emotions
> > http://www.omarfouad.net
> >
> > This e-mail and any attachment is for authorised use by the intended
> > recipient(s) only. It may contain proprietary material, confidential
> > information and/or be subject to legal privilege. It should not be
> copied,
> > disclosed to, retained or used by, any other party. If you are not an
> > intended recipient then please promptly delete this e-mail and any
> > attachment and all copies and inform the sender. Thank you.
> > _______________________________________________
> > Flashcoders mailing list
> > Flashcoders@chattyfig.figleaf.com
> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> >
> _______________________________________________
> Flashcoders mailing list
> Flashcoders@chattyfig.figleaf.com
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>



-- 
Omar M. Fouad - Digital Emotions
http://www.omarfouad.net

This e-mail and any attachment is for authorised use by the intended
recipient(s) only. It may contain proprietary material, confidential
information and/or be subject to legal privilege. It should not be copied,
disclosed to, retained or used by, any other party. If you are not an
intended recipient then please promptly delete this e-mail and any
attachment and all copies and inform the sender. Thank you.
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to