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

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

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

Регистрация: Jan 2006
Сообщений: 179
По умолчанию Работает из под flash не работает в браузере

ксть две функции которые декодируют bitmapData в jpeg, потом все эти данные пхаются в один запрос и посылаются серверу...
странная штука когда тестируешь во flash upload происходит, а когда вставляешь на страницу html не идёт и всё тут ...

Код AS3:
function startDecode(number:Number) {
	var curr:Number=number+1;
	loadingMenu(true, "Обработка "+curr+" файла");
	loading.pb.setProgress(0, 100);
	var encoder:JPEGAsyncEncoder = new JPEGAsyncEncoder(100);
 	encoder.PixelsPerIteration = 128;
  	encoder.addEventListener(JPEGAsyncCompleteEvent.JPEGASYNC_COMPLETE, encodeDone);
  	encoder.addEventListener(ProgressEvent.PROGRESS, encodeProg);
  	encoder.encode(dp.getItemAt(number).source.bitmapData);	
	dp.getItemAt(number).data.menu = false;
	myTileList.dataProvider = dp;
}
 
function encodeDone(event:JPEGAsyncCompleteEvent):void {
	event.target.removeEventListener(JPEGAsyncCompleteEvent.JPEGASYNC_COMPLETE, encodeDone);
    currloadedFileNumber++;
	var data:ByteArray = event.ImageData;
	UploadPostHelper.attachFile("file_"+currloadedFileNumber+".jpg", data);	
	if(dp.length>currloadedFileNumber)
		startDecode(currloadedFileNumber);
	 else {
		loadingMenu(true, "Выгрузка файлов на сервер");
		loading.pb.setProgress(100, 100);
		urlRequest.data = UploadPostHelper.getPostData();
		urlLoader.load(urlRequest);
		urlLoader.addEventListener(Event.COMPLETE, completeLoadFile);
	}

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

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
А с безопасностью там что?
__________________
#flasher@irc.trg.ru:6667

Старый 20.11.2009, 15:01
ursul вне форума Посмотреть профиль Отправить личное сообщение для ursul Найти все сообщения от ursul
  № 3  
Ответить с цитированием
ursul

Регистрация: Jul 2009
Сообщений: 9
Подниму старую тему.

Та же проблема возникла: после модификации изображения производится его отправка на сервер в bytearray через UploadPostHelper. В браузере urlLoader.load(urlRequest) не срабатывает, хотя все отлично работает в дебаге Flash.

Однако, обычный аплоад работает, т.е. FileReference.upload(urlRequest) срабатывает в браузере.

Security.domain прописан, crossdomain.xml есть.

Старый 20.11.2009, 15:41
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от ursul Посмотреть сообщение
В браузере urlLoader.load(urlRequest) не срабатывает, хотя все отлично работает в дебаге Flash.
Какая ошибка-то появляется?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 20.11.2009, 16:02
ursul вне форума Посмотреть профиль Отправить личное сообщение для ursul Найти все сообщения от ursul
  № 5  
Ответить с цитированием
ursul

Регистрация: Jul 2009
Сообщений: 9
Появляется SecurityError #2176.

Однако загрузка происходит после нажатия кнопки пользователем. И работает обычная (без предварительной модификации изображения) загрузка в браузере.


Последний раз редактировалось ursul; 20.11.2009 в 16:05.
Старый 20.11.2009, 16:05
Juice_Green вне форума Посмотреть профиль Отправить личное сообщение для Juice_Green Посетить домашнюю страницу Juice_Green Найти все сообщения от Juice_Green
  № 6  
Ответить с цитированием
Juice_Green
 
Аватар для Juice_Green

Регистрация: Dec 2005
Адрес: Новосибирск
Сообщений: 529
Отправить сообщение для Juice_Green с помощью ICQ Отправить сообщение для Juice_Green с помощью Skype™
значит надо копать в сторону политики безопасности

Старый 20.11.2009, 16:09
ursul вне форума Посмотреть профиль Отправить личное сообщение для ursul Найти все сообщения от ursul
  № 7  
Ответить с цитированием
ursul

Регистрация: Jul 2009
Сообщений: 9
А чем будет отличаться политика безопасности urlLoader.load() от fileReference.upload() ? Последнее успешно работает в браузере.

Старый 20.11.2009, 16:34
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Как- то так.

Цитата:
In Flash Player 10 and later, if you use a multipart Content-Type (for example "multipart/form-data") that contains an upload (indicated by a "filename" parameter in a "content-disposition" header within the POST body), the POST operation is subject to the security rules applied to uploads:
The POST operation must be performed in response to a user-initiated action, such as a mouse click or key press.
If the POST operation is cross-domain (the POST target is not on the same server as the SWF file that is sending the POST request), the target server must provide a URL policy file that permits cross-domain access.
Also, for any multipart Content-Type, the syntax must be valid (according to the RFC2046 standards). If the syntax appears to be invalid, the POST operation is subject to the security rules applied to uploads.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 20.11.2009, 16:40
ursul вне форума Посмотреть профиль Отправить личное сообщение для ursul Найти все сообщения от ursul
  № 9  
Ответить с цитированием
ursul

Регистрация: Jul 2009
Сообщений: 9
Да, это учтено, я написал выше, что все инициируется нажатием кнопки.
Клик по кнопке -> FileReference.browse() -> Event: select -> Далее два варианта:
  • Модифицируем, если размер больше максимального -> UrlLoader.load()
  • Не модифицируем -> FileReference.upload()

Добавлено через 1 минуту
Если только перед UrlLoader.load() нужно еще одно инициирующее событие от пользователя.. Но это выглядит довольно странно

Старый 20.11.2009, 16:44
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 10  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Клик по кнопке -> FileReference.browse();
Клик по кнопке -> UrlLoader.load();
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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