2013-09-10 5 views
0

Я работаю над проектом, который построен с использованием Java-сервлетов и JSP. Система развернута на сервере tomcat. В этом случае мне нужно загрузить определенные WAV-файлы из URL-адреса. Поэтому я написал код для загрузки файла. Но проблема в том, что на локальном компьютере я могу указать путь к файлу как «Мой C: /», и он успешно загружается, но я не знаю, что указать в качестве пути при его развертывании на сервере. Я попытался получить путь к контексту и добавить его в путь к файлу, но он не загрузился. Я также не вижу ошибок в журналах.Загрузить файл на сервер tomcat по адресу

Также, поскольку .war файлы развернуты, я не знаю, как получить доступ к папкам на моем сервере (или даже получить их правильные пути).

Я много искал, но все решения показывают, как загрузить файл с URL-адреса на локальный компьютер, но никто не показывает, как загрузить файл с URL-адреса на Tomcat Server.

Пожалуйста, помогите мне

ответ

1

Пытаться создать переменную среды на сервере, который будет содержать корневой путь вам файлов. В коде введите переменную среды с помощью System.getenv и используйте это как корень вашего пути.

Существует также возможность добавлять файлы в войне и доступ к ним непосредственно (например, http://www.example.com/mywavfiles.wav, но это увеличит размер вашей войны и, как правило, не то, что вы хотели бы, как я понял.

0
  • Если файлы будут сохранялось через развертывание приложений, определить директорию на сервере, где пользователь, который запускает сервлет-контейнер (вероятно, «TOMCAT») имеет доступ на запись.

  • Вы не должны загружать файлы в «контексте path ', потому что это считается ресурсом только для чтения для w приложение eb, содержащее только классы Java и другие (скомпилированные) ресурсы. (вы, вероятно, не можете, так как права на файловую систему запрещают вам)

  • Если это временные цели, используйте значение, возвращаемое System.getProperty("java.io.tmpdir") в качестве базового каталога для создания временных файлов.

  • Если вам нужно построить пути из имен каталогов и имен файлов, не вручную поместить слеши и обратные дроби, но использовать System.getproperty("file.separator")

  • При поиске себя созданием множества функций низкого уровня, следует использовать, например Commons IO вместо изобретать колесо.

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

  • Нет связанных вопросов^_^