Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.12.2010, 20:01
pow_x вне форума Посмотреть профиль Отправить личное сообщение для pow_x Найти все сообщения от pow_x
  № 1  
Ответить с цитированием
pow_x

Регистрация: Dec 2010
Сообщений: 12
По умолчанию BitmapData в png и отправка постом

Дико извиняюсь за мультипостинг, но я подумал что на тему в API и средах мало кто обратит внимания.

В чем заключается проблема:
На этапе 2 в JSON выводится фигня, что свидетельствует о неправильной заливки изображения на сервер ВКонтакте.
Это обозначает, что запрос был составлен не верно и ВКонтакте не распознал изображение.

Знаю что код не правильный, но он передает смысл того, что мне нужно:
Код AS3:
public static function loadPhoto(server:String, bitmap:BitmapData,onLoad:Function):void
{
	var loader:URLLoader = new URLLoader();
	var sender:URLRequest = new URLRequest(server);
	var vars:URLVariables = new URLVariables();
	var e:PNGEncoder = new PNGEncoder();	
 
	vars.photo = e.encode(bitmap);
 
	sender.data = vars;
	sender.method = URLRequestMethod.POST;
 	sender.contentType = 'image/png';
 
 	loader.load(sender);
 	loader.dataFormat = URLLoaderDataFormat.TEXT;
 	loader.addEventListener(Event.COMPLETE, onLoad);
 }
Просьба: Допишите метод так, чтобы изображения отправлялись на сервер ВК. Проект крупный и стоит только из за этого момента, поэтому если напишите рабочее решение - можете смело писать реквизиты вебмани - не обижу


Спасибо!

Старый 15.12.2010, 20:14
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 2  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
PNGEncoder берем отсюда
Формируем запрос с помощью вот этого

Далее внимательно читаем доку ВКонтакте.

PS
Не забываем, что отправка фотографии должна начинаться только по клику или нажатию клавиши (то есть в обработчике события ввода) - такова на данный момент политика безопасности Flash Player'а.
__________________
...вселенская грусть

Старый 15.12.2010, 20:34
pow_x вне форума Посмотреть профиль Отправить личное сообщение для pow_x Найти все сообщения от pow_x
  № 3  
Ответить с цитированием
pow_x

Регистрация: Dec 2010
Сообщений: 12
Спасибо огромное! Сейчас попробую
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
PS
Не забываем, что отправка фотографии должна начинаться только по клику или нажатию клавиши (то есть в обработчике события ввода) - такова на данный момент политика безопасности Flash Player'а.
А это может быть статик-функция, которая вызывается в листенере?

Старый 15.12.2010, 20:50
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 4  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Честно - не помню, проверять лень =)
По-моему нет. То есть запуск отправки должен быть в самом обработчике
__________________
...вселенская грусть

Старый 15.12.2010, 20:51
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 5  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Не забываем, что отправка фотографии должна начинаться только по клику или нажатию клавиши (то есть в обработчике события ввода) - такова на данный момент политика безопасности Flash Player'а.
Не обязательно. Content-type нужно задавать не через свойство contentType, а добавлять соответствующий хедер в requestHeaders.

Старый 15.12.2010, 21:06
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 6  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Не забываем, что отправка фотографии должна начинаться только по клику или нажатию клавиши (то есть в обработчике события ввода)
На самом деле не в обработчике, а в стеке вызовов обработчика - можно вызывать хоть тыщу разных функций, а потом выполнять запрос
Но как только: начали ждать следующего кадра, начали ждать ответа на другой запрос, начали ждать таймаут - т.е. как только стек вызвов прервался - уже ничего отправить не удастся

Старый 15.12.2010, 21:36
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 7  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Не обязательно. Content-type нужно задавать не через свойство contentType, а добавлять соответствующий хедер в requestHeaders.
help:
Цитата:
В приложении Flash Player 10 и более поздней версии при использовании типа содержимого multipart (например, multipart/form-data), в котором содержится отправка (обозначена параметром filename в заголовке content-disposition в теле оператора POST), к операции POST применяются правила безопасности для отправок:
То есть, дело не в том, куда мы пихаем Content-Type, а в том чти при типе multipart если есть filename, то увы, мы вынуждены делать это по клику

Или нет?

И что меняется от того, каким образом я задам content-type?
__________________
...вселенская грусть

Старый 15.12.2010, 21:47
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
И что меняется от того, каким образом я задам content-type?
Семантически ничего не меняется, но отправка начинает работать.

Был, вроде, еще какой-то способ обхода этой секьюрити, связанный с повторным использованием мышиного события. А может и не было.


Последний раз редактировалось udaaff; 15.12.2010 в 21:53.
Старый 15.12.2010, 21:54
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 9  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
То есть - без действия от пользователя? А это фича или баг? =)
__________________
...вселенская грусть

Старый 15.12.2010, 22:00
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 10  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Видать, баг.

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:48.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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