![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2009
Сообщений: 14
|
В общем суть вопроса в следующем.
Какой код прописать в html или Flash компонентах, что бы к примеру из Flash галереи можно было сохранять изображения?(правой кнопкой) или же добавить кнопку скачать? |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 14
|
А монжо поподробнее? Как связать кнопку с изображением? Какие команды ?
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 3
|
Такой же вопрос мучает.
Думаю что проблему через PHP решать буду - других мыслей нет ))) |
|
|||||
|
Модрон-ветеринар
|
Можно и правой кнопкой. Для галерей, где картинки грузятся из внешних файлов. Правда, несколько сложновато и в принципе, это эмуляция. Но все-таки...
Вот рабочий пример:http://www.us-pro.ru/mooncar/context...ntexMenu2.html Кликаем правой кнопкой мыши на картинке во флешке, выбираем соответствующий пункт меню, и сохраняем картинку к себе на комп. В двух словах - 1) Флеш - назначается отдельное кастомизированное контекстное меню флеш-плеера на контейнер-мувик с загруженной картинкой. А вне области картинки работает общее меню. 2) Сервер - в качестве ссылки на картинку вызывается php-скрипт, который принимает URL картинки, генерит на ее основе копию, отдает JPG, форсируя при этом вызов диалогового меню через заголовки. Флеш: var picURL:String = 'pic1.jpg'; //грузим картинку var cont:MovieClip = this.createEmptyMovieClip('cont_mc', this.getNextHighestDepth()); //контейнер для картинки this.onLoadInit = function(target:MovieClip) { target.picURL = picURL; //запоминаем URL картинки внутри ее контейнера (пригодится для вызова через getURL в функции вызова сохранения) target.menu = menu_cm; //назначаем контейнеру с картинкой индивид. контекстн. меню (см. в конце) } var loader:MovieClipLoader = new MovieClipLoader(); loader.addListener(this); //слушатель - сам _level0 loader.loadClip(picURL, cont); //вызов скрипта сохранения картинки function doSave(mc:Object):Void { //вызываем и передаем скрипту url файла. Тут _self в target-параметре, чтобы браузер не дергался, а также в записи не используем параметр метода - GET. getURL('forcesave.php?picurl=' + mc.picURL, '_self'); } //"общее" контекстное меню флеш-плеера, эти действия нужны только для скрытия системных пунктов var cmMain:ContextMenu = new ContextMenu(); cmMain.hideBuiltInItems(); this.menu = cmMain; //определяем язык операционной системы на компе пользователя var lang:String = System.capabilities.language ; var textForItemMenu:String; //текст для пункта меню switch (lang) { case 'ru': textForItemMenu = 'Сохранить изображение как...'; break ; case 'en': textForItemMenu = 'Save image as...'; break ; } //формируем меню для мувика var menu_cm:ContextMenu = new ContextMenu(); menu_cm.hideBuiltInItems(); menu_cm.customItems.push(new ContextMenuItem(textForItemMenu, doSave));
Кстати, возможно было бы и проще реализовать скачивание с учетом форсирования диалогового окна? Не силен в PHP. Естественно, можно расширить поддержку разных типов файлов изображений в скрипте PHP. Можно в скрипте легко ввести авторизацию на скачивание, задав проверку сессионной переменной-идентификатора пользователя, например для скачивания полноразмерных фоток:
Последний раз редактировалось mooncar; 08.10.2009 в 20:31. |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 3
|
mooncar, очень спасибо.
ps. Век живи - век учись. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|