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

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

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

Регистрация: Mar 2003
Адрес: moscow
Сообщений: 102
Отправить сообщение для uglan с помощью ICQ Отправить сообщение для uglan с помощью Skype™
Question Скачивание объемных файлов с сервака

Сегодня на повестке дня скачивание файлов с сервера без захламления памяти что немаловажно.
Сейчас я использую loader таким способом:
Код AS3:
var loader:Loader = new Loader();
	var request:URLRequest = new URLRequest("http://videos.hd-trailers.net/thehobbit2-sneakpeek_h1080p.mov");	
	var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, null);
	loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHand);
	loader.load(request, loaderContext);
На закачку способ работает, но дальше образуется две проблемы:
1) большие файлы засоряют память ровно под количество своего собственного веса что очень не хорошо
2) сохранение скаченного файла способом ниже почему то вызывает такую ошибку:

Error #2044: Unhandled IOErrorEvent:. text=Error #2124: Loaded file is an unknown type.

Сам код отвечающий за сохранение:
Код AS3:
function loadHand(e:Event):void{
	var file:File = File.applicationStorageDirectory.resolvePath("thehobbit2-sneakpeek_h1080p.mov"); 
	var wr:File = new File(file.nativePath);
	var stream:FileStream = new FileStream();
		stream.open(wr,FileMode.WRITE);
		stream.writeBytes(e.target.bytes, 0, e.target.bytesTotal); 
		stream.close();
}
Вопрос, как сливать файл постепенно без засорения памяти и что не так с моим способом сохранения?
И да, download() от FileReference не подходит, т.к. нужно сделать все потихому.
__________________
uglan

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

Регистрация: Feb 2010
Адрес: Город суеты
Сообщений: 191
класс File можно использовать только в AIR, подтвердите что вы не используете Flash Player для этого
__________________
FlashPress.ru | Blog

Старый 08.11.2013, 19:28
uglan вне форума Посмотреть профиль Отправить личное сообщение для uglan Посетить домашнюю страницу uglan Найти все сообщения от uglan
  № 3  
Ответить с цитированием
uglan

Регистрация: Mar 2003
Адрес: moscow
Сообщений: 102
Отправить сообщение для uglan с помощью ICQ Отправить сообщение для uglan с помощью Skype™
так точно, AIR 3.8+!
__________________
uglan

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Стрим серверы для этого используются. Сервер отдает поток байт, флеш плеер их принимает как NetStream.
Но бразуер все равно будет кэшировать файл, и память все равно будет захламляться

Старый 08.11.2013, 22:42
uglan вне форума Посмотреть профиль Отправить личное сообщение для uglan Посетить домашнюю страницу uglan Найти все сообщения от uglan
  № 5  
Ответить с цитированием
uglan

Регистрация: Mar 2003
Адрес: moscow
Сообщений: 102
Отправить сообщение для uglan с помощью ICQ Отправить сообщение для uglan с помощью Skype™
Это не браузер, это в приложении под ios. По нетстриму нашел только вариант с FileReference. Как их поженить с File? Или нужен какой-то другой способ?
__________________
uglan

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
Error #2044: Unhandled IOErrorEvent:. text=Error #2124: Loaded file is an unknown type.
Loader понятия не имеет о видеофайлах. Он знает только swf и изображения. Байты надо закачивать с помощью URLLoader.
__________________
Reality.getBounds(this);

Старый 09.11.2013, 00:04
uglan вне форума Посмотреть профиль Отправить личное сообщение для uglan Посетить домашнюю страницу uglan Найти все сообщения от uglan
  № 7  
Ответить с цитированием
uglan

Регистрация: Mar 2003
Адрес: moscow
Сообщений: 102
Отправить сообщение для uglan с помощью ICQ Отправить сообщение для uglan с помощью Skype™
Ну тут видео как пример, потенциально нужна возможность выкачивать любой формат. URLStream похоже лучше подходит для моей задачи...
__________________
uglan

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

Теги
file , filestream , loader as3 , urlrequest
Опции темы
Опции просмотра

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

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


 


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


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