2010-01-28 1 views
3

Доступ к HTML DOM из апплета возможен с помощью API-интерфейсов netscape.javascript JSObject. Однако, если я запрашиваю значение типа ввода = «файл», в некоторых браузерах (Opera) я получаю полный путь к выбранному файлу, но в других браузерах (Firefox, Chrome) просто имя файла без пути ,Доступ к типу ввода = полный путь к файлу из апплета Java

Возможно ли иметь тип ввода HTML = «файл», чтобы выяснить полный путь к файлу, выбранному в нем, из апплета Java?

Причина, по которой я беспокоюсь: подписанные апплеты могут получить доступ к файловой системе, а селектора файлов браузеров намного лучше, чем Java swing.

ответ

2

Вы не можете. Вы ограничены ограничениями безопасности HTML/JS (и браузера). Официально значение input type="file" должно возвращать только имя файла, а не путь к файлу. Однако я удивлен тем, что Opera возвращает полный путь, а именно потому, что MSIE был единственным, кого я знал о том, кто это сделал.

Но как вы уже используете апплет, почему бы вам просто не использовать его возможности? Вы можете использовать Swing's JFileChooser, чтобы выбрать файл, точно так же, как вы можете сделать с HTML input type="file".

+0

- JFileChooser является уродливым. - Я не смог бы отправить файл, который я выбираю с помощью JFileChooser, отправив форму HTML. Это очень жаль. – alamar

+3

Вы можете настроить Swing look'n'feel: http://java.sun.com/docs/books/tutorial/uiswing/lookandfeel/ – BalusC