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

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

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

Регистрация: May 2007
Сообщений: 33
По умолчанию Как отдать файл скрипту на сервере не используя FileReference ?

Привет !

Уже неделю бодаюсь с "майлом" которые хотят чтобы флеш "сымитировала работу формы" (которая есть у них на сайте) и отправила нарисованный растр во флеш к ним на сервер. Может я что то не понимаю, но как мне казалось флеш может переслать файл (используя диалог с пользователем) через FileReference. Но очень не хотелось бы заставлять пользователя сначала сохранить полученный растр на локальный диск, а потом уже его пересылать.

Вариант передачи байт массива полученной картинки (хоть в теле запроса, хоть строкой base64) их не устраивает.
Код AS3:
var bmd:BitmapData = new BitmapData(700, 600);
bmd.draw(content);
var encoder:JPGEncoder = new JPGEncoder(90);
var picture:ByteArray = encoder.encode(bmd);
...
urlRequest.contentType="application/octet-stream"
urlRequest.method = URLRequestMethod.POST;
urlRequest.data=picture
...
urlLoader.load(urlRequest)
Отсюда вопрос знатокам, можно ли как то переслать файл (сымитировала работу формы) не тревожа пользователя различными диалогами и просьбами ?

Спасибо !

Старый 26.09.2012, 13:13
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
http://blog.inspirit.ru/?p=139

Попробуйте с помощью этой штуки отправлять, немного облегчит задачу.

Цитата:
Отсюда вопрос знатокам, можно ли как то переслать файл (сымитировала работу формы) не тревожа пользователя различными диалогами и просьбами ?
— конечно можно.

Цитата:
Вариант передачи байт массива полученной картинки (хоть в теле запроса, хоть строкой base64) их не устраивает.
— А какой вариант устраивает?
__________________
hauts.ru

Старый 26.09.2012, 13:23
Bacrilio вне форума Посмотреть профиль Отправить личное сообщение для Bacrilio Найти все сообщения от Bacrilio
  № 3  
Ответить с цитированием
Bacrilio

Регистрация: May 2007
Сообщений: 33
Цитата:
Сообщение от Hauts Посмотреть сообщение
— А какой вариант устраивает?
...сымитировала работу формы... без каких то дополнительных комментариев.
http://foto.mail.ru/cgi-bin/photo/addphoto

Старый 26.09.2012, 14:09
zuxul вне форума Посмотреть профиль Отправить личное сообщение для zuxul Найти все сообщения от zuxul
  № 4  
Ответить с цитированием
zuxul

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
Вас тоже слегка не понятно, чего вы хотите (или от Вас хотят)
Может быть сымитировать форму - это все-таки не отправка картинки на их сервер, а просто точно такой же запрос на сервер, какой посылает форма?

Старый 26.09.2012, 15:25
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Вам не нужно сохранять файл на диск для того, чтобы загрузить его с помощью FileReference - можно просто байты передать.
Через URLLoader у вас не получится сымитировать работу формы потому что URLLoader не может отсылать multipart-form-data или, как оно там называется, запросы в силу политик безопасности. Если третья сторона предоставит файл политик на каком-нибудь порту на своем сервере, то, в принципе, можно эту работу сымитировать через Socket. Но судя по скудоумию требований, они или не знают как это сделать / не могут в виду технических ограничений / не станут напрягаться, даже если это им под силу.

Если вы верите, что на другом конце люди вменяемые, и у вас есть желание провести с ними разъяснительную работу - почитайте немного про cache poisoning - и про то, как эта техника особенно хорошо работает с multipart-form-data запросами. Но, я думаю, оно того не стоит.
__________________
Hell is the possibility of sanity

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Через URLLoader у вас не получится сымитировать работу формы потому что URLLoader не может отсылать multipart-form-data
В смысле, не получится? Для вконтакта писал когда-то пару классов для загрузки картинок. http://code.google.com/p/v-kontakte/...otoUploader.as

Старый 26.09.2012, 17:48
Bacrilio вне форума Посмотреть профиль Отправить личное сообщение для Bacrilio Найти все сообщения от Bacrilio
  № 7  
Ответить с цитированием
Bacrilio

Регистрация: May 2007
Сообщений: 33
Всем спасибо !

Это решение оказалось оптимальным

Цитата:
Сообщение от Hauts Посмотреть сообщение
http://blog.inspirit.ru/?p=139
Попробуйте с помощью этой штуки отправлять, немного облегчит задачу.

Старый 27.09.2012, 19:00
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
http://help.adobe.com/en_US/FlashPla...estHeader.html
Content-Length, например, никак не отправить, а без него валидный multipart-form-data не получится.
__________________
Hell is the possibility of sanity

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

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

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


 


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


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