Код: Выделить всё
import flash.display.Sprite; import flash.display.MovieClip; import flash.display.Loader; import flash.net.FileReference; import flash.utils.ByteArray; import flash.net.*; import com.adobe.images.*; import com.adobe.serialization.json.JSON; import vk.APIConnection; import vk.events.*; import MultipartData; import PNGEncoder; var image:BitmapData;// Создаем пустой контейнер под изображение var box:Sprite = new Sprite(); stage.addChild(box);// Из библиотеки загружаем movieclip var mc:moviec = new moviec(); var mcc = box.addChild(mc); // Делаем снимок содержимого контейнера box var layout:BitmapData = new BitmapData(stage.width,stage.height); layout.draw(mcc); var bm:Bitmap = new Bitmap(layout); var bd = this.addChild(bm); bd.x = 200; bd.y = 100; bd.visible = false;// Делаем невидимым контейнер box mcc.visible = false;// Конвертируем bitmap var ba:ByteArray = PNGEncoder.encode(layout); var flashVars:Object = stage.loaderInfo.parameters as Object; // присваиваем переменным значения из flashVars var api_id = flashVars['api_id']; var viewer_id = flashVars['viewer_id']; var sid = flashVars['sid']; var secret = flashVars['secret']; var result_tf:TextField = new TextField(); result_tf.autoSize=TextFieldAutoSize.LEFT; result_tf.x=10; result_tf.y=10; addChild(result_tf); // инициализация var VK:APIConnection = new APIConnection(flashVars); VK.api('photos.getWallUploadServer', { uid: flashVars['viewer_id'] }, getWallUploadServer, onError); function getWallUploadServer(obj:Object):void { var _loader:URLLoader = new URLLoader(); var _request:URLRequest = new URLRequest(obj.upload_url); _request.method = URLRequestMethod.POST; _request.requestHeaders.push(new URLRequestHeader("Content-type", "multipart/form-data; boundary=" + MultipartData.BOUNDARY)); var _data:MultipartData = new MultipartData(); _data.addFile(PNGEncoder.encode(layout), "photo"); _request.data=_data.data; _loader.addEventListener(Event.COMPLETE, imageLoaded); _loader.load(_request); } // Загружает файл на сервер function imageLoaded(e:Event):void { var _obj:Object = JSON.decode(e.target.data); VK.api('photos.saveWallPhoto', {server:_obj.server, photo:_obj.photo, hash:_obj.hash}, imageSaved, onError); } // Берет файл с сервера и размещает на стене function imageSaved(obj:Object):void { VK.api('wall.post', { message: 'Текст к картинке', owner_id: obj[0]['owner_id'], attachment: obj[0]['id'] }, function(){}, onError); } // если произошла ошибка function onError(data: Object):void { result_tf.appendText("error: " + data.error_msg + '\n'); }