GXT: Как получить путь к файлу из файла обзора

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

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

1 ответ

Решение

Здесь то, что вы ищете, это загрузить файл с помощью панели форм GWT/GXT, верно? Нет необходимости указывать полный путь к файлу или использовать имя для выполнения этой задачи. Вы можете добиться этого, выполнив следующие действия

1. Надеюсь, вы уже добавили FormPanel правильно, проверьте, указали ли вы эти свойства

   final FormPanel fp = new FormPanel();
   fp.setAction("url which handles file uploads");
   fp.setEncoding(Encoding.MULTIPART);
   fp.setMethod(Method.POST);

2. Реализовать сервлет, который обрабатывает запросы POST и считывает данные файла из запроса. для этой цели вы можете легко использовать утилиты файлов guava или apache commons file.

3.Сконфигурируйте сопоставления сервлетов загрузки файлов в web.xml (для производственного режима) или, если вы хотите использовать его в режиме разработки, добавьте такое же отображение в yourmodule.gwt.xml также. например:

 <servlet path="/<path to servlet>" class="<fully-qualified class name of servlet>"/>

4. Обработайте событие завершения отправки файла, добавив обработчик на панель формы.

fp.addSubmitCompleteHandler(new SubmitCompleteHandler() {
      public void onSubmitComplete(SubmitCompleteEvent event) {
       //event handling
      }
    });

Кстати, я нашел хорошую библиотеку, которая выполняет загрузку нескольких файлов. https://code.google.com/p/gxt-multi-upload/

Надеюсь, это поможет.

Другие вопросы по тегам