powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring MVC, чтение pdf файла из базы данных
25 сообщений из 163, страница 2 из 7
Spring MVC, чтение pdf файла из базы данных
    #39899955
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
И почему POST?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899987
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,потому что документы конфидциальные я вместе с кнопкой отправляю csrf token
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899990
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
это понятно ,как браузер заставить выводить этот пдф- вот у меня в модели лежит байт массив
Код: java
1.
2.
3.
4.
5.
6.
7.
@PostMapping("/read")
    public String readBook(Model model) throws IOException {
        
        Model.addAtrribute("pdf",bookRepo.findById(id).get());
      
        return "redirect:/book";
    }


тоесть при запросе методом пост по урлу /read я кладу в модель байт массив

далее в тимлейте что мне написать?
чтобы я получил пдф документ в странице браузера?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899995
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
Код: java
1.
PostMapping("/read")


Заменить на /static
Теперь вбей в урл любую белиберду после /static/опчвполдо.pdf
Что увидим?
Get был?
Поток отдал?

почему на static?
статик же это папка в моем проекте
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900014
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
PetroNotC Sharp,потому что документы конфидциальные я вместе с кнопкой отправляю csrf token
странно и дико.
Сессия защищается. А не кнопка))
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900015
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
почему на static?
ты просил не менять html?
Если можно менять, то напиши любое имя СЕРВЛЕТА.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900019
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
тоесть при запросе методом пост по урлу /read я кладу в модель байт массив
не зашумляй вопрос как ты там insert делаешь. Какая РАЗНИЦА?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900052
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
PetroNotC Sharp,потому что документы конфидциальные я вместе с кнопкой отправляю csrf token
странно и дико.
Сессия защищается. А не кнопка))

я не заказчик мне сказали csrf я сделал его) у меня есть чоткое ТЗ

вообщем приближаюсь к решению пока вот такой результат

1 шаг конвертация пдф файла в байт массив- тут все нормально
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 @PostMapping
    public String addingBook(@PathParam("name")String name,
                             @PathParam("url")String url) throws IOException {
        Book book=new Book();
        File file = new File(url);
        FileInputStream fis = new FileInputStream(file);
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        byte[] buf = new byte[100000];
        try {
            for (int readNum; (readNum = fis.read(buf)) != -1;) {
                bos.write(buf, 0, readNum);
            }
        } catch (IOException ex) {
            System.out.println("ERROR!");
        }
        byte[] bytes = bos.toByteArray();
        book.setName(name);
        book.setPdf(bytes);
        bookRepo.save(book);
        return "redirect:/book";
    }



далее берем из базы этот массив

Код: java
1.
2.
3.
4.
5.
 @PostMapping("/read")
    public String readBook(Model model) throws IOException {
        model.addAttribute("pdf",bookRepo.findById(15L));
        return "book";
    }



теперь у нас есть модель в ней под ключом пдф лежит наш массив байт

далее в темлпейте я пытаюсь его вызыват

Код: html
1.
2.
3.
<#if pdf??>
<object data="data:application/pdf,<${pdf}>" width="800" height="900" type="application/pdf" ></object>
</#if>



и получаю ошибку в идее

Код: html
1.
Request header is too large



и в браузере
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900055
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не надо темплейта никакого. Надо чтобы браузер просто скачал файл. В stackoverflow первая ссылка (по-хорошему еще надо добавить Content-Type):
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
@RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET)
public void getFile(
    @PathVariable("file_name") String fileName, 
    HttpServletResponse response) {
    try {
      // get your file as InputStream
      InputStream is = ...;
      // copy it to response's OutputStream
      org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());
      response.flushBuffer();
    } catch (IOException ex) {
      log.info("Error writing file to output stream. Filename was '{}'", fileName, ex);
      throw new RuntimeException("IOError writing file to output stream");
    }

}


Далее файл может скачаться или отобразиться просто в браузере. По большому счету это решает браузер, что ему сделать. Но это поведение можно регулировать заголовком Content-Disposition.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900063
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
далее в темлпейте я пытаюсь его вызыват
ты придуриваешься?
Вбей урл с pdf прямо в адрес в браузере. Вообще без клиента.
И результат сюда.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900065
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Не надо темплейта никакого.
да. Но ему не доходит.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900072
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Не надо темплейта никакого. Надо чтобы браузер просто скачал файл. В stackoverflow первая ссылка (по-хорошему еще надо добавить Content-Type):
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
@RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET)
public void getFile(
    @PathVariable("file_name") String fileName, 
    HttpServletResponse response) {
    try {
      // get your file as InputStream
      InputStream is = ...;
      // copy it to response's OutputStream
      org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());
      response.flushBuffer();
    } catch (IOException ex) {
      log.info("Error writing file to output stream. Filename was '{}'", fileName, ex);
      throw new RuntimeException("IOError writing file to output stream");
    }

}


Далее файл может скачаться или отобразиться просто в браузере. По большому счету это решает браузер, что ему сделать. Но это поведение можно регулировать заголовком Content-Disposition.

я тебя понял щас попробую
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900080
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
далее в темлпейте я пытаюсь его вызыват
ты придуриваешься?
Вбей урл с pdf прямо в адрес в браузере. Вообще без клиента.
И результат сюда.

ну отобразится пдф ,а дальше то что ?
у меня база в ней byte []
ты предлагаешь вообще базу не использовать ,а использовать жейсткий диск сервера?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900086
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
ну отобразится пдф ,а дальше то что ?
не дошло?
Ссыль на сервлет. Сервлет берет из базы.
Что не доходит?
SpringMan тоже самое тебе талдычит.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900087
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
ну отобразится пдф ,а дальше то что ?
не дошло?
Ссыль на сервлет. Сервлет берет из базы.
Что не доходит?
SpringMan тоже самое тебе талдычит.

не доходит ,на что ссыль и что берет сервлет из базы?
ты меня запутал уже окончательно
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900097
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Не надо темплейта никакого. Надо чтобы браузер просто скачал файл.

откуда браузер должен скачать файл?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900100
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
Ты можешь умерить спесь и гордость и просто за 5 мин сделать сервлет и там 5 строк.
Спринг тут не нужен. Это статика.... Почти.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900104
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12,
Ты можешь умерить спесь и гордость и просто за 5 мин сделать сервлет и там 5 строк.
Спринг тут не нужен. Это статика.... Почти.

у меня нет спеси -какой сервлет я должен сделать ?
я сделал по вашему
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  @GetMapping("/read")
    public String readBook(Model model) throws IOException {
//        File file = new File("C:\\Users\\stanislav.alekseev\\IdeaProjects\\sdo\\src\\main\\resources\\static\\book.pdf");
//        Book b = bookRepo.findById(16L).get();
//        FileOutputStream fo = new FileOutputStream(file);
//        fo.write(b.getPdf());
        File file = new File("C:\\Users\\stanislav.alekseev\\Desktop\\pdf\\2.pdf");
        model.addAttribute("pdf",file);
        return "book";
    }


взял просто из файловой системы пдф этот ,без всякий баз данных

и хочу его юзеру показать

Код: html
1.
<object data="${pdf}" width="800" height="900" type="application/pdf" ></object>



на что получаю ошибку в хроме вот такая,интренет экспловер вообще сразу блочит
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900105
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
Правый клик на папке. Новый-сервлет.
Получил get post методы.
Теперь слово test в выходной поток.
В браузере прочитать слово test.
Есть?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900109
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
я сделал по вашему
нет. Я написал как. Там не нужна Модель.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900110
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
apb12,

Давай сначала, я запутался, что конкретно надо.
Ты просто хочешь показать файл в браузере? Хочешь его запихать как base64 в тело? В чем конечная цель?
В моем примере из stackoverflow: человек открывает ссылку и ему скачивается файл, далее браузер или сохраняет его на диск или открывает в новой вкладке через стандартный браузерный pdf-просмотрищик (выбор зависит от Content-Disposition.).
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900114
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
apb12,

Давай сначала, я запутался, что конкретно надо.
Ты просто хочешь показать файл в браузере? Хочешь его запихать как base64 в тело? В чем конечная цель?
В моем примере из stackoverflow: человек открывает ссылку и ему скачивается файл, далее браузер или сохраняет его на диск или открывает в новой вкладке через стандартный браузерный pdf-просмотрищик.

У него есть говнище под названием pdf.js, которое видимо добавляет контролы идентичные просмотрщику pdf в браузер, и вот этому ражну надо как-то скормить pdf. Но вообще вы ребята правы - нахер так делать я не знаю. если можно просто скачать pdf
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900115
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Давай сначала, я запутался, что конкретно надо.
делайте по шагам и не запутаетесь.
БЕЗ КЛИЕНТА ВВЕСТИ УРЛ И ПОЛУЧИТЬ ЛЮБОЙ PDF
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900117
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
говнище под названием pdf.js,
возможно. Но оно должно сработать с сервлетом.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900125
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,
смотри у меня в базе данных лежат пдф( так как в бд такого формата нет -кладем в байт массив)
далее я делаю в базу запрос взять их этой таблицы запись такую то
и вот у меня в руках массив байт
далее что с этим делать непонятно-но мне нужно чтобы у пользователя на странице оторазился этот пдф

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

вот нужно думать что делать
...
Рейтинг: 0 / 0
25 сообщений из 163, страница 2 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring MVC, чтение pdf файла из базы данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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