![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2008
Сообщений: 9
|
Доброго времени суток!
При скачивании файла открывается диалоговое окно с вопросом куда сохранить файл. После выбора папки и нажатия кнопки "Сохранить" файл не сохраняется. Но после того как файл был открыт непосредственно через браузер по прямой ссылке и при повторном скачивание файла через диалоговое окно происходит скачивание файла на локальный ПК. Получается, что после того как файл сохранился во временном хранилище браузера он скачивается. Каждый раз открывать файл для скачивания в браузере и затем скачивать через FileReference не дело. Почему такое может происходить и можно ли это как-то решить? Спасибо. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну а код выложим?)))) Или будем гадать на кофейной гуще? Причины разные могут быть. Например, не создан экземпляр файлРеференс через new, или он занят другим соединением. Или с политикой безопасности чтото не так. Или с путем.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: 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. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
get_file_name(url) поподробнее
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Oct 2008
Сообщений: 9
|
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. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Думаю дело в безопасности (код из хелпа, не придерешься)))
Надо прописать домен(ы - с www тоже) в разрешенные. Ну и, надеюсь Вы смотрите тестовую флэшку не с локального диска)))
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Oct 2008
Сообщений: 9
|
Добавление домена(-ов) в разрешённые не помогло, да и как заставить каждого пользователя добавлять домены
Flash-приложение смотрю на хостинге. Ну что ж, будем использовать getURL() 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. |
|
|||||
|
Регистрация: Oct 2008
Сообщений: 9
|
А-а-а, понятно! Я думал, что рёчь идёт о браузере. Теперь понятно. Попробуем ...
Последний раз редактировалось denis_ka; 10.10.2008 в 09:08. |
|
|||||
|
Регистрация: Oct 2008
Сообщений: 9
|
А не подскажите куда именно вставить эти строчки? До объявления экземпляра объекта Object() ?
Последний раз редактировалось denis_ka; 10.10.2008 в 09:29. |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|