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

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
По умолчанию Вопрос по постингу на стену из IFrame-приложения

Возможно обсуждалось, но что-то я не нашел.
Под контейнером (враппером) все прекрасно работало, после переезда на IFrame перестала работать загрузка изображений на стену по полученной ссылке.

Т.е., я запрашиваю сервер для загрузки и получаю что-нибудь вроде

Код:
<?xml version="1.0" encoding="utf-8"?>
<response>
 <upload_url>http://cs10602.vkontakte.ru/upload.php?act=do_add_posted&amp;mid=12415998&amp;hash=6ad2d2b516ba253b1844f720d4a2320d&amp;rhash=639270b56f0e9dc4386dfc2b4fba255e&amp;swfupload=1</upload_url>
</response>
потом я отправляю по этому адресу изображение черезMultipartURLLoader примерно вот так:

Код AS3:
private function uploadImageForWall(postingImage:BitmapData,saverUrl:String) : void
{
	try
	{
		var byteArray:ByteArray = new JPGEncoder(100).encode(postingImage);			
 
		// Отправляем на сервер для загрузки на стену
		var fileContentType:String = 'image/jpeg';
		var mpLoader:MultipartURLLoader = new MultipartURLLoader();
		mpLoader.addEventListener(Event.COMPLETE, imageForWallUploaded);	
		mpLoader.addFile(byteArray, "image.jpg", "photo", fileContentType);
		mpLoader.load(saverUrl);							
	}
	catch (e:Error)
	{
		Debugger.dTrace("WallPostSenderVK::uploadImageForWall - error: " + e.message);
	}
}
Проблему я выяснил - опять нарушение изолированной среды:

Код:
2048 Нарушение изолированной программной среды безопасности: %1 не может загрузить данные из %2.
Как победить?

Добавлено через 4 часа 31 минуту
Пошарил в Инете, вроде как есть два варианта обхода ошибки секьюрности:

1. Как-то передать изображение в JS и уже оттуда отправить на сервер VK
2. Отправить изображение на собственный сервер и оттуда отправить на сервер VK через тот же curl

Нет ли более простого способа?

Добавлено через 25 часов 1 минуту
В общем, может кому пригодится - реализовали метод 2 (через собственный сервер). Клиент отсылает картинку и адрес сервера для загрузки на собственный сервер и от него же получает данные от сервера ВК. Решение нравится не очень - паразитная нагрузка, но работает.

Уже когда сделали, нашелся еще трюк. Можно флешку, показываемую через IFrame, положить как дополнительную к одному из приложений ВК. В этом случае она будет дергаться с сервера ВК и исключение безопасности не возникнет. Но сам не проверял.


Последний раз редактировалось mikhailk; 11.07.2011 в 14:51.
Старый 16.07.2011, 18:23
VitaliyKrivtsov вне форума Посмотреть профиль Отправить личное сообщение для VitaliyKrivtsov Посетить домашнюю страницу VitaliyKrivtsov Найти все сообщения от VitaliyKrivtsov
  № 2  
Ответить с цитированием
VitaliyKrivtsov
 
Аватар для VitaliyKrivtsov

блогер
Регистрация: Apr 2010
Сообщений: 99
Записей в блоге: 5
Отправить сообщение для VitaliyKrivtsov с помощью ICQ Отправить сообщение для VitaliyKrivtsov с помощью Skype™
Цитата:
Уже когда сделали, нашелся еще трюк. Можно флешку, показываемую через IFrame, положить как дополнительную к одному из приложений ВК. В этом случае она будет дергаться с сервера ВК и исключение безопасности не возникнет. Но сам не проверял.
Я же не спроста отписал, об этом методе. Метод работает. Просто, как бы это, обход проблемы огородами . Но за то ни какой нагрузки на сервер - он вообще не нужен.

Старый 28.12.2011, 13:30
Владимир Буквин вне форума Посмотреть профиль Отправить личное сообщение для Владимир Буквин Найти все сообщения от Владимир Буквин
  № 3  
Ответить с цитированием
Владимир Буквин
 
Аватар для Владимир Буквин

Регистрация: Aug 2011
Сообщений: 103
очень интересно!
Тоже мучает эта тема, уже неделю или больше.
написал скрипт
PHP код:
<?php
error_reporting
(E_ALL);
$curlOptions curl_init();
curl_setopt($curlOptionsCURLOPT_URL$_POST['Filename']);
curl_setopt($curlOptionsCURLOPT_RETURNTRANSFER1);
curl_setopt($curlOptionsCURLOPT_HEADER0);
curl_setopt($curlOptionsCURLOPT_POST1);
$data = array('Filename' => 'photo.png''photo' => $_POST['photo'], 'Upload' => 'Submit Query');
curl_setopt($curlOptionsCURLOPT_POSTFIELDS$data);
$content curl_exec($curlOptions);
curl_close($curlOptions);
echo 
$content;
?>
в ответ приходит
{"mid": "122716583", "gid": "0", "server": "10870", "photo": "", "hash": "5496f0769fe5e6002f2283668c9798c9"}
видимо картинка не создана, поэтому поле photo пустое.
Не могли бы вы мне кинуть ваш серверный скрипт?

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Ошибка, видимо в том, что $_POST['photo'] - это не данные картинки. Нужно взять файл изображения из массива $_FILES, сохранить его у себя на сервере и оптравить серверу ВК именно его.

Серверного программиста сейчас нет, поэтому скрипта под рукой нет.

Старый 29.12.2011, 09:57
Владимир Буквин вне форума Посмотреть профиль Отправить личное сообщение для Владимир Буквин Найти все сообщения от Владимир Буквин
  № 5  
Ответить с цитированием
Владимир Буквин
 
Аватар для Владимир Буквин

Регистрация: Aug 2011
Сообщений: 103
спасибо!
В данном случае не будет массива файлов, так как метод, которым я пользуюсь может положить на стену только одну фотографию

Старый 29.12.2011, 18:33
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 6  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Клиент отправляет изображение на собственный сервер POST'ом. Оно попадает в массив $_FILES. По-любому.

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

Регистрация: Jun 2011
Сообщений: 127
Я тоже недавно запустил приложение где флешка в iframe и была такая же проблема. Решил ее способом который уже предложен выше.
Временно переключить в настройках приложение на flash и загрузить в дополнительные swf файлы флешку, которую и вставить в iframe. Тогда исключений безопасности не возникает и фотка грузится на стену.
Правда единственное немного неудобно обновлять swf, так как не знаешь какая ссылка будет.

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

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

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


 


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


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