Re: Как загрузить фото в альбом на сервер вкотакте.
Добавлено: 17 июл 2010, 23:44
Я просто безумно счастлив! Спешу поделиться
Большое спасибо xpymbI4'у с флешера за поддержку.
Решение:
Самое время поблагодарить себя - и почему здесь нет такой опции?
P.s. MultipartURLLoader можно скачать здесь.
Большое спасибо xpymbI4'у с флешера за поддержку.
Решение:
Код: Выделить всё
private function addPhoto(event:Event):void{ getPhotoServer(); file=new FileReference(); file.addEventListener(Event.SELECT, select); file.addEventListener(Event.COMPLETE, uploadComplete); file.browse(); } private function getPhotoServer():void{ // этап 1 aid=txtIn.text; var sig:String=MD5.encrypt(viewer_id+'aid='+aid+'api_id='+api_id+ 'method=photos.getUploadServertest_mode=1v=2.0'+api_secret); var request:URLRequest=new URLRequest(a_url+'?api_id='+api_id+ '&method=photos.getUploadServer&test_mode=1&aid='+aid+'&v=2.0&sig='+sig); loader2.addEventListener(Event.COMPLETE, onGetPhotoServerComplete); loader2.load(request); } private function onGetPhotoServerComplete(event:Event):void{ var externalXML:*=new XML(loader2.data); upl_url=externalXML..upload_url; } private function select(event:Event):void{ file.load(); } private function uploadComplete(event:Event):void{ Alert.show("Upload complete!"); } private function uploadNow(event:Event):void{ //запускается отдельной кнопкой //этап 2 var mll:MultipartURLLoader=new MultipartURLLoader(); mll.addEventListener(Event.COMPLETE, onUploadComplete); var _data:ByteArray=file.data; if (_data==null) Alert.show("_data==null"); mll.addFile(_data, "Jellyfish.jpg", "file1"); mll.load(upl_url); } private function onUploadComplete(event:Event):void { event.currentTarget.removeEventListener(Event.COMPLETE, onUploadComplete); var j_d:*=JSON.decode(event.currentTarget.loader.data); //этап 3 var sig:String=MD5.encrypt(viewer_id+'aid='+j_d.aid+'api_id='+api_id+ 'hash='+j_d.hash+'method=photos.savephotos_list='+j_d.photos_list+ 'server='+j_d.server+'test_mode=1v=2.0'+api_secret); var request:URLRequest=new URLRequest(a_url+'?api_id='+api_id+ '&method=photos.save&aid='+j_d.aid+'&server='+j_d.server+ '&photos_list='+j_d.photos_list+'&hash='+j_d.hash+'&test_mode=1'+ '&v=2.0&sig='+sig); loader4.addEventListener(Event.COMPLETE, success); loader4.load(request); } private function success(event:Event):void{ var externalXML:*=new XML(loader4.data); }P.s. MultipartURLLoader можно скачать здесь.