Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > как строку засунуть в файл и предложить скачать


Автор: Swatch 24.2.2010, 14:42
Добрый всем день!

не знаю,  туда ли пишу, но спрошу здесь, да простят меня модераторыsmile

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

Что-то где-то туплю и не знаю, с чего начать. Подскажите, плиззз...
На данном этапе есть табличка в БД и строка текста и HTML-страничка с кнопкой. smile На этом мысль обрывется  smile 

Автор: batigoal 24.2.2010, 14:58
Пишешь сервлет-обработчик для кнопки. Сервлет лезет в базу по JDBC, вытягивает строку и пишет её в выходной поток. Чтобы поток отдавался как файл, нужно выставить HTTP-заголовок MIME-типа (text/plain или что там у тебя за файл будет).

Автор: MaxPayneC 24.2.2010, 15:49
Код

this.response.setContentType("write_your_mime_type_here");
this.response.setHeader("Content-Disposition", "attachment; filename=\"" + invoke_some_method_to_retrieve_filename() + "\""); //в имени файла рекомендую юзать только латиницу, т.к. юникодовые имена файлов понимают не все браузеры
this.response.setHeader("Content-Length", String.valueOf(invoke_some_method_to_retrieve_file_length()));

ServletOutputStream outputStream = this.response.getOutputStream();
outputStream.write(invoke_some_method_to_retrieve_file_content());
outputStream.close();

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)