![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2010
Сообщений: 14
|
Здравствуйте. Пытаюсь отправить фотографию в альбом Вконтакте. Собственно в переменной url лежит адрес сервера для загрузки. В последней строчке вызываю метод load. Но проблема в том, что функция ничего не отправляет и не выводит ошибок. В чем проблема?
var ba:ByteArray = new ByteArray(); var encoder:PNGEncoder = new PNGEncoder(); var bd:BitmapData = new BitmapData(CityFarm.instance.width, CityFarm.instance.height); var mul:MultipartURLLoader = new MultipartURLLoader(); bd.draw(world.layer); ba = encoder.encode(bd); ba = MultipartData.addFile(ba, "image1"); var request:URLRequest = new URLRequest(); request.url = url; request.requestHeaders.push(new URLRequestHeader("Content-type", "multipart/form-data; boundary=" + MultipartData.BOUNDARY)); request.method = URLRequestMethod.POST; request.data = ba; var imageLoader:URLLoader = new URLLoader(); imageLoader.dataFormat = URLLoaderDataFormat.BINARY; imageLoader.addEventListener(Event.COMPLETE, onLoaderComplete); imageLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOErrorHandler); imageLoader.load(request); package org.flashgate.external.uploader { import flash.utils.ByteArray; /** * ... * @author rzer */ public class MultipartData{ public static const BOUNDARY:String = "----------cH2gL6ei4Ef1gL6GI3Ij5Ef1Ef1Ef1"; private static const CRLF:String = "\r\n"; private static const HYPHENS:String = "--"; public static function addFile(file:ByteArray, name:String = "Filedata", fileName:String = "name.jpg"):ByteArray { var data:ByteArray = new ByteArray(); data.writeUTFBytes(HYPHENS + BOUNDARY + CRLF); data.writeUTFBytes("Content-Disposition: form-data; name=" + name + "; filename=" + fileName + CRLF); data.writeUTFBytes("Content-Type: application/octet-stream" + CRLF + CRLF); data.writeBytes(file); data.writeUTFBytes(CRLF); var result:ByteArray = new ByteArray(); result.writeBytes(data); result.writeUTFBytes(HYPHENS + BOUNDARY + HYPHENS); return result; } } } |
|
|||||
|
Возможно дело в политике безопасности.
Цитата:
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 14
|
а почему try catch ничего не ловит?
если я использую такой способ тогда вываливается ошибка про безопасность: mul.addEventListener(Event.COMPLETE, onLoaderComplete); mul.addFile(ba, "file1.png", "file1", 'image/png'); mul.load(url); И вообще можно ли как нибудь обойтись без действий пользователя? |
|
|||||
|
Цитата:
Цитата:
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 14
|
Спасибо за разъяснения.
Добавлено через 15 минут Делаю так: mul.addEventListener(Event.COMPLETE, onLoaderComplete); mul.addFile(ba, "file1.png", "file1", 'image/png'); world.addEventListener(MouseEvent.CLICK, function load(e:Event):void { try{ mul.load(url); }catch (e:Error) { new MessageWindow("ERROR", e.message).show(); } } ); ![]() Последний раз редактировалось kiloT; 04.07.2011 в 19:56. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:49. |
|
|
« Предыдущая тема | Следующая тема » |
|
|