2014-01-08 2 views
0

Я хотел бы создать выборщик файлов так же, как выбрать пункт назначения сохранения файла загрузки из браузера. Но я понятия не имею, как это понять.File Destination Chooser

Я хочу создать несколько файлов и сохранить их в месте, которое выбирается пользователем. Аналогично созданию нового Java-класса в Eclipse IDE и браузера для исходной папки.

Я нашел много File-Uploaders, но они были предназначены для определенных файлов, а не для папок.

Любые предложения по моей проблеме? Я был бы очень признателен за ваши предложения.

Особенно я предпочитаю создавать с Java (, но не swing, потому что я создаю веб-проект), но я также могу использовать JavaScript или некоторые другие полезные библиотеки.

+0

Thompson @ Андрей, я думаю, что я буду тратить иногда на него. Я все еще новичок в java. Действительно noob в java EE. Итак, я ничего не могу сказать о JApplet, потому что на нем нет опыта. Может ли это удовлетворить мою проблему? Я немного знаю о JFileChooser. – Cataclysm

+0

* «Может ли это удовлетворить мою проблему?» * ... ты действительно думаешь, я бы предложил, если бы я сделал это, а не подумал? –

+0

@ Андрю Томпсон, извините, сэр! вы описали ссылку на JApplet, поэтому я получил двусмысленность с моим вопросом. – Cataclysm

ответ

2

Если вы хотите настроить способ загрузки файла в браузере, который НЕ МОЖЕТ быть выполнен с помощью стандартных функций браузера (HTML/CSS/Javascript).

браузер в зависимости от значения заголовка Content-Disposition HTTP отправленного в ответ будет либо сделать одну из двух вещей на загрузку файла:

  • Try, чтобы разобрать файл в зависимости от того, что это расширение, делают этот файл, если это HTML, отображать его, если xml и т. д.
  • Если Content-Disposition установлен в attachment, он откроет очень основное всплывающее окно с вопросом, где сохранить файл, для всплывающего окна нет контроля или настройки.

Если вам нужно больше функциональности, чем в браузере, вам нужен апплет (или какой-либо другой плагин, который пользователь должен будет установить).

Но из-за проблем с безопасностью для Java в браузере в течение большей части прошлого года браузеры в эти дни не хотят запускать апплеты, и они запрашивают множество пользовательских подтверждений, даже если у пользователя уже установлена ​​Java.

Если пользователям сайта необходимо загрузить Java и нажать несколько всплывающих окон, чтобы виджет загрузки файлов работал, они, вероятно, будут перемещаться от сайта.

Апплеты - это в наши дни устаревшая технология, которой лучше всего избегать, поэтому в веб-браузере основное всплывающее окно для сохранения файлов в настоящее время является наиболее практичным решением.

+0

У меня есть ответ на загрузку файла, вместо этого, задав заголовок в ответе, вы можете запустить функцию загрузки браузера по умолчанию, которая в настоящее время является самой практическое решение. –

+0

Теперь я понял, что я не могу сохранить файл на компьютере клиента с сервера. Это абсолютно невозможно. Я должен был бы обслуживать файл как обычную загрузку файла, и затем браузер предложит пользователю выбрать каталог для сохранения файла. – Cataclysm

1

..Java (но не свинг, потому что я создаю веб-проект)

свинг обеспечивает JApplet, поэтому использовать это и JFileChooser. См. How to Use File Choosers для получения более подробной информации и примеров.

+0

* «Действительно нуб в джаве» * Тогда у вас крутая кривая обучения! См. [Почему преподаватели CS должны прекратить преподавать Java-апплеты] (http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should-stop-teaching-java-applets/) для моего «бит разговора» 'на апплетах. Обратите внимание, что статья в блоге даже не учитывает тот факт, что этот код нужно подписать цифровой подписью! .. Фактически он упоминает об этом попутно. –

+1

ничего себе! Сегодня у меня появился новый учитель в моей жизни. Спасибо заранее, сэр. Спасибо за полезные ответы и советы. Я очень благодарен вам. – Cataclysm

0

Вы можете использовать JFileChooser с методами класса FIle, такие как

File a=JFileChooser.getFile(); 

Чтобы узнать больше о классе файлов и JFileChooser см ссылки ниже

For file class

FileChooser

+0

@san krish, вторая ссылка мертва – Cataclysm

+0

@Cataclysm Спасибо, я ее обновил :) –

1

Если вы даете веб-браузера команду перейти к URL и ответ возвращается:

 response.addHeader("Content-Disposition", "attachment; filename=" + "\"" +doc.getFileName()+"\""); 
     response.setContentLength(doc.getData().length); 
     response.getOutputStream().write(doc.getData()); 
     response.flushBuffer(); 

(Где doc.getData() является байт [] массив в данном случае).

Затем веб-браузер обнаружит вложение, выведет тип из имени файла и отобразит пользователю диалоговое окно «Сохранить», чтобы позволить им решить, где его сохранить.

0

Я не уверен, является ли это ответом/подсказкой для проблемы с ур. Просто попробуйте

Использование тега в HTML для поиска файла. В приведенном ниже примере будут конкретно выбраны файлы MS Excel. <input type="file" name="excelFile" value="Browse For Excel File" id="excelfileId" onChange="handleFiles(this.files)" accept="application/vnd.ms-excel"/>

Для выбора папки (а не файла) нет никаких прямых тегов. Надежда this code sample можно отнести.

Похожая тема/запрос обсуждается here

Смежные вопросы