Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблемы с именами при загрузке файла с сервера (http://www.flasher.ru/forum/showthread.php?t=129240)

atlete 27.08.2009 16:53

Проблемы с именами при загрузке файла с сервера
 
Все работает, файл сохраняется, но если пользователь меняет имя файла при сохранении, то файл сохраняется без расширения.
например файл "песня.mp3":
-Пользователь нажимает сохранить.
-Открывается окно пользователь выбирает куда сохранить (имя файла в окне показывается "песня").
-если нажать сохранить сразу, ничего не поменяв, то файл сохраняется как "песня.mp3"
-если пользователь меняет имя файла с "песня" на "песня2" и файл сохраняется как "песня2". без расширения mp3

вот код
Код AS3:

 
 import flash.display.Sprite;
    import flash.events.*;
    import flash.net.FileReference;
    import flash.net.URLRequest;
    import flash.net.FileFilter;
 
    public class FileReference_download extends Sprite {
        private var downloadURL:URLRequest;
        private var fileName:String = "SomeFile.pdf";
        private var file:FileReference;
 
        public function FileReference_download() {
            downloadURL = new URLRequest();
            downloadURL.url = "http://www.[yourDomain].com/pesnya.mp3";
            file = new FileReference();
            configureListeners(file);
            file.download(downloadURL, fileName);
        }
 
        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.CANCEL, cancelHandler);
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            dispatcher.addEventListener(Event.SELECT, selectHandler);
        }
 
        private function cancelHandler(event:Event):void {
            trace("cancelHandler: " + event);
        }
 
        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }
 
        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }
 
        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
        }
 
        private function progressHandler(event:ProgressEvent):void {
            var file:FileReference = FileReference(event.target);
            trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
        }
 
        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }
 
        private function selectHandler(event:Event):void {
            var file:FileReference = FileReference(event.target);
            trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url);
        }
    }
}

если принудительно добавить расширение файла, то если ничего не менять то
файл сохраниться в виде "песня.mp3.mp3" что тоже не верно.
Как можно сделать чтобы все работало правильно?

Gaen 27.08.2009 17:07

Отрезать расширение, если оно есть, а затем добавить :)

atlete 27.08.2009 17:38

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

Добавлено через 23 часа 23 минуты
Интересно сколько будет стоить сделать такую задачу?


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

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