|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Возможно ли отправить e.target.data (mp3) на сервер?
Возможно ли отправить e.target.data (скаченный с помощью URLLoader, mp3 файл) на сервер и сохранить?
Можете показать пример? //C этим разобрались теперь друшая проблемма: ошибка потока при передаче файла на php var encoder:Base64Encoder = new Base64Encoder(); encoder.encodeBytes(e.target.data); // теперь в data действительно byteArray var urlvcariables:URLVariables = new URLVariables(); urlvcariables.mp3 = encoder.toString(); var urlrequest:URLRequest = new URLRequest(); urlrequest.method = URLRequestMethod.POST; urlrequest.data = urlvcariables; urlrequest.url="http://1***/flash/minicoder.php" var urlloader:URLLoader = new URLLoader(); urlloader.load(urlrequest); П.С. таким образом я пытаюсь передать песню из вконтакте -> через клиент Флеш -> на сервер так как у вконтакте защита по ipадресам, с самого сервера песню не скачать...
__________________
------------------------------- FLASH FLASH FLASH FLASH FLASH Последний раз редактировалось Azo; 22.09.2011 в 14:57. |
|
|||||
Регистрация: Jun 2011
Сообщений: 212
|
1. URLRequest
с установленными method = URLRequestMethod.POST и data = e.target.data http://help.adobe.com/ru_RU/FlashPla...uest.html#data 2. На сервере - принять POST-данные и сохранить. Реализация зависит от сервера. |
|
|||||
Я отправляю
var urlvcariables:URLVariables = new URLVariables(); urlvcariables.mp3 =e.target.data; urlvcariables.uid = MYVK._viewer_id; urlvcariables.random = Math.random() * 10000; var urlrequest:URLRequest = new URLRequest(); urlrequest.method = URLRequestMethod.POST; urlrequest.data = urlvcariables; urlrequest.url="http://***/minicoder.php" var urlloader:URLLoader = new URLLoader(); urlloader.addEventListener(IOErrorEvent.IO_ERROR, ErrorVideo); urlloader.addEventListener(Event.COMPLETE, Download); urlloader.load(urlrequest);
__________________
------------------------------- FLASH FLASH FLASH FLASH FLASH |
|
|||||
Регистрация: Jun 2011
Сообщений: 212
|
Данные бинарные. Поэтому:
var encoder:Base64Encoder = new Base64Encoder(); encoder.encodeBytes(e.target.data); urlvcariables.mp3 =encoder.toString(); Добавлено через 3 минуты e.target.data это byteArray? (encodeBytes приниает byteArray в качестве параметра). Добавлено через 4 минуты ну и в php: base64_decode ($_POST['mp3']) |
|
|||||
e.target.data это ответ от urlloader.load... mp3 файла
попробую.. если че отпишусь) спасибо Добавлено через 1 час 34 минуты не хочет он переобразывывать encoder.encodeBytes(e.target.data);
__________________
------------------------------- FLASH FLASH FLASH FLASH FLASH |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Цитата:
Я бы посмотрел URLLoader#dataFormat, URLLoaderDataFormat#BINARY.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Регистрация: Jun 2011
Сообщений: 212
|
Цитата:
Но Psycho Tiger прав в другом: dataFormat действительно необходимо установить для того, чтобы решить проблему ПОЛУЧЕННЫХ данных (а не проблему передачи на сервер): Цитата:
Исходя из того, что dataFormat по умолчанию "text", то ПЕРЕД загрузкой urlloader.load (загрузка mp3 файла) необходимо лоадеру сказать: dataFormat = URLLoaderDataFormat.BINARY. После этого загрузить (urlloader.load). Ну и далее как и было описано (передача данных методом POST): |
|
|||||
Теперь mp3 файл действительно скачивается...
Но осталось еще его отправить на сервер... и тут ошибка потока. может при отпраке тоже надо сделать URLLoaderDataFormat#BINARY ?? Как быть если в Urlvariables не только файлы, но и текстовые данные ... URLLoaderDataFormat#BINARY + URLLoaderDataFormat#TEXT ???? )))
__________________
------------------------------- FLASH FLASH FLASH FLASH FLASH |
|
|||||
Цитата:
|
|
|||||
пробую даже через multiparturlloader - та же ошибка потока
var multy:MultipartURLLoader = new MultipartURLLoader(); multy.addFile(e.target.data, "mp3", "mp3","audio/mpeg"); multy.addVariable("photosurls", photosurls); multy.addVariable("uid", MYVK._viewer_id); multy.addVariable("duration", General.speedbox.selectedIndex + 1); multy.addVariable("folder", FOLDER_NAME); multy.addEventListener(ProgressEvent.PROGRESS, SendProgress); multy.addEventListener(Event.COMPLETE, Sended); multy.addEventListener(IOErrorEvent.IO_ERROR, ErrorVideo); multy.addEventListener(SecurityErrorEvent.SECURITY_ERROR, SecurityErrore); multy.load("http://***/flash/minicoder.php"); в пхп делаю так
Добавлено через 3 минуты
__________________
------------------------------- FLASH FLASH FLASH FLASH FLASH |
Часовой пояс GMT +4, время: 11:45. |
|
« Предыдущая тема | Следующая тема » |
|
|