Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Фото из приложения на стену (http://www.flasher.ru/forum/showthread.php?t=135210)

Ice_VeNOm 18.01.2010 20:26

Фото из приложения на стену
 
Короче надо загрузить фото на стену например http://vkontakte.ru/images/gifts/256/174.jpg
изображение надо отправить как multipart form data.
я так понял, что через FileReference, но как это сделать
без загрузки изображения пользователем?

udaaff 18.01.2010 21:23

Плохо ищите:
http://www.flasher.ru/forum/showthread.php?p=871927

+ В гугле по запросу multipart form data actionscript 3.0 посмотреть можно.

ps: FileReference предназначен для загрузки изображений из локальной системы пользователя.

Ice_VeNOm 18.01.2010 22:24

Спасибо,
Код AS3:

 var downloadURL:URLRequest;
 downloadURL = new URLRequest();
 downloadURL.url = "http://vkontakte.ru/images/gifts/256/174.jpg";
 var imageLoader: Loader = new Loader();
 imageLoader.load(downloadURL);

пробовал, но что-то не работает
Код AS3:

var data1: ByteArray = ByteArray(imageLoader.content);

Как преобразовать это счастье в ByteArray?

udaaff 18.01.2010 22:39

Грузите через URLLoader.

Ice_VeNOm 21.01.2010 17:12

Эх...мне опять нужна помощь....последние несколько дней,как только не изгалялся над бедным action script в итоге перепробовл много вариантов и все работают у меня на машине, а вконтакте почему то не хотят...последний (*****) код выглядит так:
Код AS3:

import fl.controls.*
import JPEGEncoder;
var btn:Button = new Button();
addEventListener( Event.ADDED_TO_STAGE, onAddedToStage )
function onAddedToStage(e: Event): void {
Security.allowDomain("*");
stage.dispatchEvent(new Event(Event.DEACTIVATE));
stage.dispatchEvent(new Event(Event.ACTIVATE));
}
btn.addEventListener(MouseEvent.CLICK,testcl);
addChild(btn);
function testcl(e:MouseEvent): void{
var imageLoader: Loader = new Loader();
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e: Event): void {
 
imageLoader.y = 50;
trace('deone');
var source: Bitmap = Bitmap(imageLoader.content);
trace("\ndone1\n");
var jpgEncoder:JPEGEncoder = new JPEGEncoder();
trace("\ndone2\n");
var jpgStream:ByteArray = jpgEncoder.encode(source.bitmapData);
 
trace(jpgStream);
var loader:Loader = new Loader();
loader.loadBytes(jpgStream);
addChild(loader);
});
imageLoader.load(new URLRequest("http://vkontakte.ru/images/gifts/256/174.jpg"));
return;
 
}

так-то он работает, а вконтакте -нет.

Почему?
З.Ы. используется контейнер

Wolsh 21.01.2010 17:55

Так уж или контейнер, или stage.
По поводу загрузки на стену вроде есть официальный пример с исходником - http://vkontakte.ru/app1758255

Ice_VeNOm 21.01.2010 18:46

Цитата:

есть официальный пример с исходником
Да пример я разобрал, но там картинку на стену грузят через FileReference, а мне надо, чтобы она грузилась из листа картинок т.е. из интернета

М.б. вы знаете как это осуществить?

Wolsh 21.01.2010 19:08

Через FileReference картинку грузят в приложение, чтобы получить собственно ByteArray с изображением, который уже аплоадить "на стену" - то же самое и Вам надо сделать с "картинками из интернета". То есть вопрос стоит не в том, как аплоадить на стену, а как загрузить картинку в свое приложение из интернета?

Ice_VeNOm 21.01.2010 19:18

загрузить картинку в приложение - получается
преобразовать в ByteArray - локально преобразовывает, а вконтакте не хочет(останавливается на этом моменте)

Wolsh 21.01.2010 23:38

http://flasher.ru/forum/showthread.php?t=131829


Часовой пояс GMT +4, время: 14:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.