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

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

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

Регистрация: Oct 2008
Сообщений: 9
По умолчанию FileReference и скачивание файла

Доброго времени суток!

При скачивании файла открывается диалоговое окно с вопросом куда сохранить файл. После выбора папки и нажатия кнопки "Сохранить" файл не сохраняется. Но после того как файл был открыт непосредственно через браузер по прямой ссылке и при повторном скачивание файла через диалоговое окно происходит скачивание файла на локальный ПК.

Получается, что после того как файл сохранился во временном хранилище браузера он скачивается. Каждый раз открывать файл для скачивания в браузере и затем скачивать через FileReference не дело.

Почему такое может происходить и можно ли это как-то решить?

Спасибо.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну а код выложим?)))) Или будем гадать на кофейной гуще? Причины разные могут быть. Например, не создан экземпляр файлРеференс через new, или он занят другим соединением. Или с политикой безопасности чтото не так. Или с путем.
__________________
Reality.getBounds(this);

Старый 08.10.2008, 14:49
denis_ka вне форума Посмотреть профиль Отправить личное сообщение для denis_ka Найти все сообщения от denis_ka
  № 3  
Ответить с цитированием
denis_ka

Регистрация: Oct 2008
Сообщений: 9
Пожалуйста!

Код:
import flash.net.FileReference;

 var listener:Object = new Object();
 
 listener.onSelect = function(file:FileReference):Void {
  trace("onSelect: " + file.name);
  trace("size: " + file.size + " bytes");

 }
 
 listener.onCancel = function(file:FileReference):Void {
  trace("onCancel");
 }
 
 listener.onOpen = function(file:FileReference):Void {
  trace("onOpen: " + file.name);
 }
 
 listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
  trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal);
 }
 
 listener.onComplete = function(file:FileReference):Void {
  trace("onComplete: " + file.name);
 }
 
 listener.onIOError = function(file:FileReference):Void {
  trace("onIOError: " + file.name);
 }
 
 var fileRef:FileReference = new FileReference();
 fileRef.addListener(listener);
 var url:String = "http://domain.com/path/file.mov";
 var url_name = get_file_name(url);
 trace ("saving file from: " + url + " filename: " + url_name);
 if(!fileRef.download(url, url_name)) {
  trace("dialog box failed to open.");
 }


Последний раз редактировалось denis_ka; 08.10.2008 в 14:52.
Старый 08.10.2008, 16:19
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
get_file_name(url) поподробнее
__________________
Reality.getBounds(this);

Старый 08.10.2008, 17:36
denis_ka вне форума Посмотреть профиль Отправить личное сообщение для denis_ka Найти все сообщения от denis_ka
  № 5  
Ответить с цитированием
denis_ka

Регистрация: Oct 2008
Сообщений: 9
Цитата:
Сообщение от Wolsh Посмотреть сообщение
get_file_name(url) поподробнее
get_file_name - это функция, которая возвращает имя файла из заданной строки. Т.е. из URL http://domain.com/path/file.mov функция `get_file_name` вернёт `file.mov`. Ведь именно переменная `url_name` выводится в строке "Имя файла:" в диалоговом окне. Верно?

Я не специалист по Flash и писал Flash-приложение не я. Но пытаемся разобраться почему не происходит сохранение


Последний раз редактировалось denis_ka; 08.10.2008 в 17:38.
Старый 08.10.2008, 18:41
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Думаю дело в безопасности (код из хелпа, не придерешься)))
Надо прописать домен(ы - с www тоже) в разрешенные.
Ну и, надеюсь Вы смотрите тестовую флэшку не с локального диска)))
__________________
Reality.getBounds(this);

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

Регистрация: Oct 2008
Сообщений: 9
Добавление домена(-ов) в разрешённые не помогло, да и как заставить каждого пользователя добавлять домены

Flash-приложение смотрю на хостинге.

Ну что ж, будем использовать getURL()

Wolsh, спасибо большое за помощь

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Да нет, ну зачем же) Это работает, буквально неделю назад делал проект и использовал даунлоад с файлреференс.
А что значит "каждого пользователя"? Речь о коде во флэшке. Или у Вас флэшка на одном домене качает с разных других???
Код:
System.security.allowDomain("http://domain.com");
System.security.allowDomain("http://www.domain.com");
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 09.10.2008 в 10:14.
Старый 09.10.2008, 14:53
denis_ka вне форума Посмотреть профиль Отправить личное сообщение для denis_ka Найти все сообщения от denis_ka
  № 9  
Ответить с цитированием
denis_ka

Регистрация: Oct 2008
Сообщений: 9
А-а-а, понятно! Я думал, что рёчь идёт о браузере. Теперь понятно. Попробуем ...


Последний раз редактировалось denis_ka; 10.10.2008 в 09:08.
Старый 10.10.2008, 09:05
denis_ka вне форума Посмотреть профиль Отправить личное сообщение для denis_ka Найти все сообщения от denis_ka
  № 10  
Ответить с цитированием
denis_ka

Регистрация: Oct 2008
Сообщений: 9
А не подскажите куда именно вставить эти строчки? До объявления экземпляра объекта Object() ?


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

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

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


 


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


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