Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Выбор файла с помощью кнопки "обзор" (http://www.flasher.ru/forum/showthread.php?t=108324)

Makcumka 19.02.2008 23:06

Выбор файла с помощью кнопки "обзор"
 
Дано:
Приложение на flash, хранящееся в локальной файловой системе, предназначенное для визуализации данных из xml-файла (тоже хранящегося в локальной файловой системе). Файл загружается с помощью XML.load(filename). Приложение должно быть кросс-платформенным.
Задача:
Само приложение уже готово, но появилась необходимость user-friendly выбора файла, в стиле кнопки "обзор", например (в текущем варианте путь к файлу задаётся вручную).

Вариант с Zinc'ом не подходит, так как такое решение не будет кросс-платформенным.
Была идея поместить флешку на html-страничку, там воткнуть потайную кнопку "обзор" и в нужный момент программно нажимать на неё. Или просто меню выбора файла сделать на html'е и передавать данные флэшке. Но что-то мне подсказывает, что настройки безопасности не дадут такое провернуть :confused:

Подскажите, пожалуйста, какую-нибудь идею или развейте мои сомнения :rolleyes:

etc 19.02.2008 23:47

AIR вам в руки.

Snut 19.02.2008 23:49

fileReference
fileReferenceList

as3, air

Makcumka 20.02.2008 12:34

__etc
Цитата:

AIR вам в руки.
Что это такое? В справке не нашёл

Snut
Цитата:

fileReference
fileReferenceList
Встала такая проблема: с помощью свойства fileReference.name я могу узнать имя выбранного файла, но методу XML.load(url:String) надо передавать в переменной url либо относительный, либо абсолютный путь до файла. Как мне узнать путь? Или может можно сменить текущую директорию на ту которая была последний открыта в диалоге open?
Или может можно как-нибудь по-другому выбрать и загрузить xml-файл?

Snut 20.02.2008 14:21

у fileReference существует еще свойство upload путь вам не отдаст флеш из-за безопасности

Makcumka 20.02.2008 14:45

Цитата:

Сообщение от Snut
у fileReference существует еще свойство upload путь вам не отдаст флеш из-за безопасности

Вот что я понял касательно fileReference.upload из справки:
  1. Это не свойство а метод.
  2. Этот метод вызывает загрузку файла на web-сервер используя HTTP POST.
Моя флэшка хранится локально. Флэшка весит десятки килобайт и идея распространять вместе с ней web-сервер (который к тому же не может быть кросс-платформенным) просто для того, чтобы принять файл методом POST и отдать его по запросу XML.load() мне кажется не подходящей, а других идей как использовать fileReference.upload() мне в голову не приходит:(

Если Вы можете посоветовать как по-другому можно использовать fileReference.upload(), буду очень признателен.:)

aksios 20.02.2008 17:49

Makcumka, вашу проблему возможно решить только средствами АС3 используя AIR

DarkLight 20.02.2008 20:43

Цитата:

Сообщение от Makcumka
Вариант с Zinc'ом не подходит, так как такое решение не будет кросс-платформенным.

Zinc работает на Mac и Win, в ближайшее время ожидается под Linux. AIR даст тот же Mac+Win+Linux(возможно, последний с запозданием)

Linux Вам реально необходим?
Цитата:

Сообщение от Makcumka
Что это такое? В справке не нашёл

Даже раздел на форуме есть на эту тему.

flash33 20.02.2008 22:25

Makcumka, кто Вам сказал что
Цитата:

Или просто меню выбора файла сделать на html'е и передавать данные флэшке. Но что-то мне подсказывает, что настройки безопасности не дадут такое провернуть
Вы это проверяли, или интуиция вас никогда не подводит?

Makcumka 20.02.2008 23:21

Цитата:

Сообщение от aksios
Makcumka, вашу проблему возможно решить только средствами АС3 используя AIR

Цитата:

Сообщение от DarkLight
Linux Вам реально необходим?

Честно говоря, никогда не работал c AS3. Процесс переноса готовой флешки (там не только AS2 код, но ещё и статическая графика) сильно трудоёмок? А если это ещё и не работает под Linux, то такой вариант не подходит, т.к. Linux, наверное, даже важнее чем остальные платформы :(
Цитата:

Сообщение от DarkLight
Даже раздел на форуме есть на эту тему.

Просто искал в справке по AS2 :rolleyes: вот и не нашёл
Цитата:

Сообщение от flash33
Вы это проверяли, или интуиция вас никогда не подводит?

Ещё не проверял, оставил напоследок.
Где-то на форуме читал, что для того, чтобы flash мог взаимодействовать с JavaScript надо что-то поменять в настройках безопасности. Мне показалось как-то не логично заставлять пользователя ковырятся в настройках безопасности для того чтобы интерфейс стал более user-friendly ;) Честно говоря, ожидал, что кто-нибудь поопытней скажет "даже не пытайся - не прокатит" или "не переживай - должно вкатить" или подскажет простое и красивое решение проблемы :) Завтра буду эксперементировать c JavaScript сам.

flash33 21.02.2008 00:29

Вложений: 1
Можешь не эксперементировать, все придумано до тебя. Этот вариант для Flash 8, для девятки тоже прокатит (с модификациями). Я сделал пример для IE, если чуть модифицировать js, скрипт будет работать для других версий браузера. Открывай файл file_browser.html и выбирай любой файл

Snut 21.02.2008 00:32

ну да, меня надо повесить, конечно не свойство, а метод.


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

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