powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Загрузка динамических файлов
25 сообщений из 25, страница 1 из 1
Загрузка динамических файлов
    #34709439
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу сервлет + JSP под Apache Tomcat 5.
В процессе работы требуется динамически создавать файлы отчетов, куда-то их складывать и давать пользователю ссылку для скачивания файла.
Сейчас сделал так:
в каталоге сервлета создал папку reports.
в константах прописал два пути до этой папки: путь в терминах файловой системы для создания файла и путь URL для скачивания.
Система работает, файлы создаются и скачиваются, но хотелось бы эти вышеуказанные пути получать как-то динамически, а не прописывать каждый раз, когда путь до моего сервлета меняется.

Подскажите, пожалуйста, как сделать? И как такое обычно делается?
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34709469
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Небольшое уточнение:
файлы мне создает Java Bean, вызываемый c JSP страницы.
Т.е. хочется именно в JSP получить пути к моему сервлету.
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34709531
fynda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман В пишет:

> Подскажите, пожалуйста, как сделать? И как такое обычно делается?

Можно класть файлы в /tmp (или его аналог в твоей ОС), а пользователю
отдавать их другим сервлетом.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34709603
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fynda
Можно класть файлы в /tmp (или его аналог в твоей ОС), а пользователю
отдавать их другим сервлетом.

Ну это же не по честному! Хочется нормальную ссылку на страничке. Чтобы по ней щелк, открывается диалог сохранения файла...
Кстати вопрос: как такую ссылку организовать? У меня сейчас
Код: plaintext
<a href="http://server/requests/reports/rep_1186461397115.xls">XLS</a>
И при клике на нее файл начинает открываться тут же в браузере. Приходится щелкать правой кнопкой мыши, выбирать "Сохранить как..."

Кстати, ос у меня - WinXP обычный.
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34715579
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
up
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34715779
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
см. интерфейс ServletContext
String getRealPath(String path)
String getServletContextName()
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34715871
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман В
И при клике на нее файл начинает открываться тут же в браузере. Приходится щелкать правой кнопкой мыши, выбирать "Сохранить как..."


я наверное туплю, но это кажется настройки браузера ??
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34716375
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
daniiсм. интерфейс ServletContext
String getRealPath(String path)
String getServletContextName()

getRealPath - реально то что надо (для создания файлов) спасибо.
getServletContextName - выдает только имя web модуля. это немножко не то. нужен весь URL начиная с http://...
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34716385
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чтобы сохранять надо выставлять правильные заголовки в ответе
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34716398
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
am_sasaчтобы сохранять надо выставлять правильные заголовки в ответе
не понял... можно чуть поподробнее?
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34716403
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
am_sasaчтобы сохранять надо выставлять правильные заголовки в ответе
ответ из другой темы???
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34716519
qweqweйцуйцу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из той темы ответ.
В http-заголовке content-type нужно вместо text/html ставить экселевский
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34716539
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Роман ВХочется нормальную ссылку на страничке. Чтобы по ней щелк, открывается диалог сохранения файла...


типа этого, должно помочь
Код: plaintext
1.
Content-type: application/octet-stream
Content-Disposition: file; filename=test.doc
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34716638
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
am_sasa Роман ВХочется нормальную ссылку на страничке. Чтобы по ней щелк, открывается диалог сохранения файла...


типа этого, должно помочь
Код: plaintext
1.
Content-type: application/octet-stream
Content-Disposition: file; filename=test.doc

Т.е. вы хотите сказать, что единственный путь отдать файл пользователю - это слить его в ответе сервлета?
Неужели нельзя просто на странице разместить ссылку, и чтобы всю остальную работу по передаче файла выполнил тот же браузер?
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34716825
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Роман В daniiсм. интерфейс ServletContext
String getRealPath(String path)
String getServletContextName()

getRealPath - реально то что надо (для создания файлов) спасибо.
getServletContextName - выдает только имя web модуля. это немножко не то. нужен весь URL начиная с http://...

на счет getServletContextName() - извиняюсь. это тоже то самое, что я и хотел. спасибо.

с автоматичеким сохранением файла из ссылки вопрос пока остается открытым.
не хочу я его сервлетом выдавать! лень! :)

daniiя наверное туплю, но это кажется настройки браузера ??
возможно и в браузере чего-нибудь подкрутить надо. посмотрю...
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34717083
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо настроить MIME на сервере, который используете. Вот здесь посмотрите:
http://www.developershome.com/wap/wapServerSetup/tutorial.asp?page=settingUpMIME
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34717426
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LeonidvНадо настроить MIME на сервере, который используете. Вот здесь посмотрите:
http://www.developershome.com/wap/wapServerSetup/tutorial.asp?page=settingUpMIME
Спасибо.
Интересный результат получился.
В моем случае (Tomcat 5) mime-type прописывается в web.xml.
Я прописал так:
Код: plaintext
1.
2.
3.
  <mime-mapping>
    <extension>xls</extension>
    <mime-type>application/octet-stream</mime-type>
  </mime-mapping>
Раньше при клике на ссылку файл открывался просто в виде ёжиков (двоичный вид).
Теперь в браузере на странице открывается полноценный Excel документ.

Только это все равно не то, чего я хотел. Хочу увидеть save dialog.
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34717453
no13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Роман В...
Теперь в браузере на странице открывается полноценный Excel документ.

Только это все равно не то, чего я хотел. Хочу увидеть save dialog.
Это определяется настройками браузера - открывать файл сразу же в ассоциированном приложении, или показать диалог сохранения. По всей видимости вы когда-то ранее поставили галочку "всегда открывать".
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34717495
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
no13...По всей видимости вы когда-то ранее поставили галочку "всегда открывать".

Ну чтож, спасибо всем, кто проявил интерес. Сильно помогли.
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34719642
Роман В no13...По всей видимости вы когда-то ранее поставили галочку "всегда открывать".

Ну чтож, спасибо всем, кто проявил интерес. Сильно помогли.
какие ещё галочки? Выставить в ответе правильные хедеры - будет тебе сейв дайлог.
z
Content-type: application/octet-stream
Content-Disposition: attachment; filename=asdf.txt
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34719703
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ненавижу хибернейткакие ещё галочки? Выставить в ответе правильные хедеры - будет тебе сейв дайлог.
z
Content-type: application/octet-stream
Content-Disposition: attachment; filename=asdf.txt

Простите за тупость. Content-type я прописал в web.xml. В каком месте выставлять Content-Disposition? (если можно, <файл-куда> и кусочек кода?)
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34719997
Роман В ненавижу хибернейткакие ещё галочки? Выставить в ответе правильные хедеры - будет тебе сейв дайлог.
z
Content-type: application/octet-stream
Content-Disposition: attachment; filename=asdf.txt

Простите за тупость. Content-type я прописал в web.xml. В каком месте выставлять Content-Disposition? (если можно, <файл-куда> и кусочек кода?)

чего там вернуть надо? эксель? тогда так:

Код: plaintext
1.
2.
3.
   
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=sampleName.xls");
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34720027
тьпху ты.
Это все, если только сервлетом отдавать. По клику на линке нифига не получится (я так думаю:) )
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34720144
Роман В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ненавижу хибернейттьпху ты.
Это все, если только сервлетом отдавать. По клику на линке нифига не получится (я так думаю:) )
:) вот и я о том же
...
Рейтинг: 0 / 0
Загрузка динамических файлов
    #34729534
DDiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может и мне кто поможет :)
ситуация следующая. нужно на динамически выдаваемую страницу(из сервлета) поместить ссылка на картинку, скачанную во временную директорию. т.е.
мне нужно как-то получить ссылку на файл лежащий в темпе приложения.
Код: plaintext
1.
2.
3.
4.
5.
//так получаю путь к временной директории
File f =  new  File(getServletContext().getAttribute("javax.servlet.context.tempdir")+"\\"+sessionId+"\\");
...
//потом в другом сервлете создаю в этой папке файл, скаченый с другого URL
//но не могу никак получить ссылку на него, для добавления на страничку :(
возможно ли это вообще, или придётся кидать их в директорию приложения. можно конечно создать в приложении папку img и туда кидать файлы, потом на них получать ссылку
типа того
Код: plaintext
1.
URL url = servlet.getServletConfig().getServletContext().getResource("/img/"+f.getName());

вопрос возможно глупый, но уже 2 день мучаюсь
-----
Если дела идут плохо, есть вероятность, что в ближайшее время они пойдут ещё хуже. :)
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Загрузка динамических файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]