powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring MVC, чтение pdf файла из базы данных
163 сообщений из 163, показаны все 7 страниц
Spring MVC, чтение pdf файла из базы данных
    #39899835
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно вопрос в следующем
имею в базе данных поле с типом bytea (массив байт)-там лежит преобразованый в байт массив pdf файл
что нужно сдедать -достать его оттуда ,преобразовать в pdf и прочитать

сущность ,которая представляет собой имя и собственно сам байт массив

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
@Entity(name = "bk")
@Data
public class Book {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String name;
    private byte[]pdf;


}



беру pdf файл c локальной машины и кладу в базу

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    @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);
        byte [] data = new byte[(int)file.length()];
        fis.read(data);
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        data = bos.toByteArray();
        book.setName(name);
        book.setPdf(data);
        bookRepo.save(book);
        return "redirect:/book";
        
    }



достаю и преобразовываю

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@PostMapping("/read")
    public String readBook() throws IOException {
        File file = new File("book.pdf");
        Book b = bookRepo.findById(14L).get();
        FileOutputStream fo = new FileOutputStream(file);
        fo.write(b.getPdf());
        return "redirect:/book";
    }



первая проблема в том что вновь созданный файл не читаем ,ни один пдф инструмент не может его открыть
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899841
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
По архитектуре не правильно. Не надо его читать.
Jpeg положил и взял, работает?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899847
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
2.
3.
4.
5.
6.
...
ByteArrayOutputStream bos = new ByteArrayOutputStream();
data = bos.toByteArray();
...
book.setPdf(data);
...


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

пс.пофиксил запись чтение теперь нормально работают

проблема была в записи,переделал метод pdf->>byte[]

Код: 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[Integer.MAX_VALUE];
        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";
    }
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899853
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,да прошелся дебагом пустота была,цикл сделал,все заработало
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899860
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А теперь самый главный вопрос

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

Код: html
1.
<embed src="static/book.pdf" width="850" height="900" type='application/pdf'>



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

но как быть когда проект собран и у пользователя лишь веб интерфейс?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899885
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
всмысле jpeg ?там же книги а не изображение
ты как всегда. Если байты положил в блоб байт в байт, то причем тут pdf?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899887
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
указал путь -куда должен сохраняться файл с базы и спокойно его читаю
не понял. Путь файловой системы указал?
Сервлет+REST.
Всё.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899897
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут ответ на вопрос. https://stackoverflow.com/questions/42393211/how-can-i-serve-static-html-from-spring-boot

Пишут про html - но суть таже самая. Как сконфигурировать SpringBoot(Tomcat/Jetty) для обслуживания
обычных статичных файлов.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899899
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
А теперь самый главный вопрос

но как быть когда проект собран и у пользователя лишь веб интерфейс?


Код: java
1.
File pdfFile = File.createTempFile(filename, ".pdf");



Создаться файл со случайным именем во временной директории системы.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899909
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
У него бд или нет?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899911
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Создаться файл со случайным именем во временной директории системы.
а зачем, если сервлет без него отдаст?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899913
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
У него бд или нет?

У него БД. Но он зачем-то перекладывает это в файловую систему. Наверное кешировать будет. Или не будет.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899914
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
Код: html
1.
<embed src="static/book.pdf"

либо у тебя файлы, тогда static это псевдоним а не папка. Переменная.
Либо бд, тогда это имя сервлета.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899917
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Но он зачем-то
да. Никто не знает зачем.
Я вспомнил, он сервлеты не любит. Спринг любит.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899926
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
указал путь -куда должен сохраняться файл с базы и спокойно его читаю
не понял. Путь файловой системы указал?
Сервлет+REST.
Всё.

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

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

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

У него БД. Но он зачем-то перекладывает это в файловую систему. Наверное кешировать будет. Или не будет.

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

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


apb12
как ты знаешь браузер не умеет преобразоывать байты в пдф
что?

тоесть ты хочешь сказать если я из базы возьму байт массив и отдам это на страницу - то получу на странице pdf?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899930
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
А байты в jpeg умеет?
А винда умеет байты в bmp/doc/...?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899932
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
на страницу - то получу на странице pdf?
заголовок правильно напиши. И получит))
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899936
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
PetroNotC Sharp
пропущено...
не понял. Путь файловой системы указал?
Сервлет+REST.
Всё.

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

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

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

понял,я про это не знал,думал браузеру нужен файл обязательно
вопрос в том что я же в шаблоне указывал как
Код: html
1.
<embed src="static/book.pdf" width="850" height="900" type='application/pdf'>


теперь так не получится же
тоесть теперь я беру
Код: 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";
    }


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


Заменить на /static
Теперь вбей в урл любую белиберду после /static/опчвполдо.pdf
Что увидим?
Get был?
Поток отдал?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39899954
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
Крайний вариант, js заплату поправить и отдать клиенту.
Но и без этого должно работать.
...
Рейтинг: 0 / 0
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
Spring MVC, чтение pdf файла из базы данных
    #39900127
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
SpringMan,
смотри у меня в базе данных лежат пдф( так как в бд такого формата нет -кладем в байт массив)
далее я делаю в базу запрос взять их этой таблицы запись такую то
и вот у меня в руках массив байт
далее что с этим делать непонятно-но мне нужно чтобы у пользователя на странице оторазился этот пдф

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

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

Тут, действительно как говорит PetroNotC Sharp, надо вначале отладить просто скачивание файла по урлу из браузера.
Этот pdf.js https://mozilla.github.io/pdf.js/examples/ ? Если он, то вроде примеры ясные, как с работающим урлом встроить это дело. Хотя не ясно, зачем его куда-то встраивать.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900135
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
apb12,
Как ругается? Просто скачать файл - это нарушение безопасности? - звучит довольно странно.

Тут, действительно как говорит PetroNotC Sharp, надо вначале отладить просто скачивание файла по урлу из браузера.
Этот pdf.js https://mozilla.github.io/pdf.js/examples/ ? Если он, то вроде примеры ясные, как с работающим урлом встроить это дело. Хотя не ясно, зачем его куда-то встраивать.

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

но когда я пытаюсь это делать через рест запросы то естественно получают
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900139
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
SpringMan,
смотри у меня в базе данных лежат пдф( так как в бд такого формата нет -кладем в байт массив)
далее я делаю в базу запрос взять их этой таблицы запись такую то
и вот у меня в руках массив байт
далее что с этим делать непонятно-но мне нужно чтобы у пользователя на странице оторазился этот пдф

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

вот нужно думать что делать
дак делать будем или по кругу ходить?

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

проблема в том что вы хотите минуя базу данных получить извне доступ к локальным файлам-вам такого ни 1 браузер не даст сделать просто так (можно в конфигах поковыряться конечно-но это же не нужно юзерам-им нужно открыл программу -кнопку нажал - отобразился пдф)
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900140
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
когда ты локально качаешь локальный файл нет проблем,и если я вставляю путь к файлу в браузер тоже все ок
но когда я пытаюсь это делать через рест запросы то естественно получают
опять ахинея.
Чем рест запрос отличается от вставить в урл без клиента?
Ты просто считаешь что РЕСТ ЭТО СПРИНГ.
Увы.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900142
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не надо скачивать по file://C:/Users ... - это конечно нельзя.
Надо скачивать по http://localhost:8080/my_service/download_file/1. По этой ссылке уже обработчик, который лезет в файловую систему/базу, получает набор байт и пишет их в респонс.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900143
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
как делать ты подскажи)
выше сервлет сделал? Балабол.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900153
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
взял просто из файловой системы пдф этот ,без всякий баз данных
Вообще ничего не требуется - всё делает default servlet, только контекст настроить. Вообще без программирования.
Сервлет нужен, чтобы оформить заголовок HTTP-ответа и записать в ServletOutputWriter поток байт из базы. Без использования файловой системы.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900162
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
когда ты локально качаешь локальный файл нет проблем,и если я вставляю путь к файлу в браузер тоже все ок
но когда я пытаюсь это делать через рест запросы то естественно получают
опять ахинея.
Чем рест запрос отличается от вставить в урл без клиента?
Ты просто считаешь что РЕСТ ЭТО СПРИНГ.
Увы.

петро когда ты вбиваешь локальный адрес в браузер C:\Users\stanislav.alekseev\Desktop\pdf типо такого и получаешь пдф этого одно
а когда ты делаешь этот запрос браузер воспринимает тебя не как локального юзера уже и никогда не даст тебе доступ к файлу без плясок с бубном
да и не в этом суть при чем тут все эти файлы у меня лежат в базе массивы байт

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

петро когда ты вбиваешь локальный адрес в браузер C:\Users\stanislav.alekseev\Desktop\pdf типо такого и получаешь пдф этого одно
а когда ты делаешь этот запрос браузер воспринимает тебя не как локального юзера уже и никогда не даст тебе доступ к файлу без плясок с бубном
да и не в этом суть при чем тут все эти файлы у меня лежат в базе массивы байт

...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900170
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
пс.как всегда зашел спросить простую вещь получил 4 часа разговоров ни о чем
а у тебя всегда так. Сервлет сделал?)))))))))
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900172
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
да и не в этом суть
угу. Цветочный магазин тоже 20 страниц.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900176
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
пс.как всегда зашел спросить простую вещь получил 4 часа разговоров ни о чем
а у тебя всегда так. Сервлет сделал?)))))))))

какой ?где ?
это спринг бут приложение и 12 java не будут тут работать никакие сервлеты уже лет 5 наверно как из джавы выпилили всю эту дичь
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900177
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
apb12
взял просто из файловой системы пдф этот ,без всякий баз данных
Вообще ничего не требуется - всё делает default servlet, только контекст настроить. Вообще без программирования.
Сервлет нужен, чтобы оформить заголовок HTTP-ответа и записать в ServletOutputWriter поток байт из базы. Без использования файловой системы.

сервлет в спринг бут приложении?может есть какой то вариант со спринг бутот

неужели в mvc нет возможности это сделать?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900178
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12, странный вы человек ...
LTS Java11 - могу понять, последнюю Java13 - тоже. Java12-то зачем?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900181
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
это спринг бут приложение и 12 java не будут тут работать никакие сервлеты уже лет 5 наверно как из джавы выпилили всю эту дичь
подробнее плиз.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900183
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
apb12, странный вы человек ...
LTS Java11 - могу понять, последнюю Java13 - тоже. Java12-то зачем?

как заказчик сказал так и делаю) у меня вообще 8ка стояла,хотя вроде же и в ней выпилии ее модули и вся эти javaxы и http сервлеты нужно отдельными модулями подключать ,а к ним еще и дескриптор развертывания и все это начнет конфликтовать с бутом
нет это точно не мой путь

сейчас задача простая
есть база в ней байт массив
взять массив и показать его юзеру как пдф
java 12/spring boot/hibernate
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900185
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
это спринг бут приложение и 12 java не будут тут работать никакие сервлеты уже лет 5 наверно как из джавы выпилили всю эту дичь
подробнее плиз.

установи 12 джаву и попробуй унаследоваться от HTTPservlet
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900186
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
к ним еще и дескриптор
боже, какая некомпетентность. Сервлету не нужен конфиг.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900188
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
установи 12 джаву и попробуй унаследоваться от HTTPservlet
то есть я написал тебе 3 клика мышкой и ты не сделал. И я буду делать твои команды?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900189
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
apb12

неужели в mvc нет возможности это сделать?


Этот вариант чем не подходит?

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 файла из базы данных
    #39900190
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
сейчас задача простая
есть база в ней байт массив
взять массив и показать его юзеру как пдф
java 12/spring boot/hibernate

Правый клик мышкой.
20 страница пошла.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900191
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понял. ТС в notepad.exe пишет.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900206
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
apb12
взял просто из файловой системы пдф этот ,без всякий баз данных
Вообще ничего не требуется - всё делает default servlet, только контекст настроить. Вообще без программирования.
Сервлет нужен, чтобы оформить заголовок HTTP-ответа и записать в ServletOutputWriter поток байт из базы. Без использования файловой системы.

хорошо вот мой дефолт сервлет
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class showPdf  extends HttpServlet {
    @Autowired
    private BookRepo bookRepo;
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}


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


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 {
      Book book = ... // Hibernate query? Use fileName as a key.
      InputStream is = new ByteArrayInputStream(book.getPdf());
      // 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");
    }

}


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

неужели в mvc нет возможности это сделать?


Этот вариант чем не подходит?

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 файла из базы данных
    #39900216
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxer,
Не отвлекай его)))
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900218
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
к ним еще и дескриптор
боже, какая некомпетентность. Сервлету не нужен конфиг.

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

У тебя какое-то глобальное недопонимание происходящего.
И сервлет и спринговый код сделает одно и то же: по ссылке будет возвращать набор байт файла + хттп загловки.
Дальше тебе надо: или чтобы pdf.js взял эту ссылку и нарисовал пдф-ку, или чтобы сам браузер взял эти ссылку и нарисовал пдф-ку.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900229
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идет уже 4-я страница...
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900232
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
У тебя какое-то глобальное недопонимание происходящего.
это последствия экстерном из второго в 9 класс на спринг.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900242
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
apb12
он подхоит я не пойму как мне отобразить с помощью него пдф файл на странице

У тебя какое-то глобально недопонимание происходящего.
И сервлет и спринговый код сделает одно и то же: по ссылке будет возвращать набор байт файла + хттп загловки.
Дальше тебе надо: или чтобы pdf.js взял эту ссылку и нарисовал пдф-ку, или чтобы сам браузер взял эти ссылку и нарисовал пдф-ку.

да все я понимаю) я с них начинал но уже полгода на mvc
там все просто есть модель в нее кладешь объект и показываешь
понятно что под капотом там теже сервлеты
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900246
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
да все я понимаю)
только никто не верит.
Продолжай.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900250
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот тебе пример, который просто делает скачивание файла. Дальше эту ссылку используешь на фронте. На сервлетах будет точно такой же смысл. Запусти этот код и попробуй просто скачать файл по http://localhost:8080/my_service/files/my_pdf.pdf или что у тебя там вместо file_name
fixxer

Код: 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 {
      Book book = ... // Hibernate query? Use fileName as a key.
      InputStream is = new ByteArrayInputStream(book.getPdf());
      // 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");
    }

}


...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900266
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разве нельзя задекларировать метод

Код: java
1.
2.
3.
4.
@RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET)
public @ResponseBody byte[]  getFile(...) {
   ...
}



чтобы умный Спринг понял, что byte[] - это для ответа?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900270
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Ну вот тебе пример, который просто делает скачивание файла. Дальше эту ссылку используешь на фронте. На сервлетах будет точно такой же смысл. Запусти этот код и попробуй просто скачать файл по http://localhost:8080/my_service/files/my_pdf.pdf или что у тебя там вместо file_name
fixxer

Код: 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 {
      Book book = ... // Hibernate query? Use fileName as a key.
      InputStream is = new ByteArrayInputStream(book.getPdf());
      // 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");
    }

}



попробовал -возвращает в браузер вот такое

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
%PDF-1.4
%&#226;&#227;&#207;&#211;
1 0 obj
<</Type /Page
/Parent 2 0 R
/MediaBox [ 0 0 595.000 841.000 ]
/Resources <</XObject 3 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]>>/Contents [ 4 0 R ]
/Rotate 0
>>
endobj
5 0 obj
<</Type /XObject /Subtype /Image
/Name /JI1Obj1
/Width 1240 /Height 1754
/BitsPerComponent 8
/ColorSpace /DeviceRGB
/Filter [ /FlateDecode /DCTDecode ]
/Length 6 0 R>>
stream
x&#339;&#237;=	\L&#219;&#255;w&#353;R<[™¬’&„6&#235;c&#242;&#732;4&#245;’J&#219;X&#178;¤U&#161;&#205;+/S–‡!iQD&#202;4Q©,•&#144;&#143;
&#165;}QJ)-&#180;j&#157;&#255;&#189;w&#238;&#157;&#185;wo&#249;=&#222;{&#191;&#223;z&#376;&#175;&#207;™s&#190;&#231;&#339;&#239;Y&#190;&#231;»&#157;s§&#339;&#243;««M&#211;&#65533;&#255;8&#402;€§X
H&#141;&#376;(7‘4]n&#178;&#220;¬™&#211;g/\&#175;±p&#222;&#188;…&#219;µu—­wµ&#246;&#252;&#201;&#217;z&#143;“&#247;&#233;&#219;&#188;&#143;%0&#157;&#246;DT°&#238;?z&#382;&#255;&#252;&#231;&#208;·m&#175;&#179;?&#222;~&#250;<j„&#240;—&#201;&#65533;¤&#165;†U&#710;—	31iQ&#353;&#192;y&#200;&#65533;A‚&#65533;&#255;&#200;A&#338;(.1LRj&#248;&#710;&#239;@„&#228;±€&#129;H'JH&#710;‹&#402;&#165;^`9 .-!3Cu&#213;°q†&#219;$g&#238;%©&#249;&#248;_’R&#248;&#225;&#198;Y&#163;‚&#143;&#179;&#212;·;>b&#252;„‰“&+&#206;V"+&#207;&#209;&#208;\&#180;x&#201;&#210;e«&#215;Pµ&#215;&#234;&#208;t&#141;7&#732;&#732;&#353;™[&#208;wX&#237;&#180;¶±µ&#179;wqus&#223;&#247;“‡&#231;&#161;&#195;G~9z&#236;83 0&#232;Lp&#200;&#217;s&#161;¬Hv&#212;&#229;+&#209;1±7“’o&#165;&#220;&#190;s&#247;&#225;&#175;&#143;gfe?yZXT\RZV&#254;&#162;&#226;&#205;&#219;&#353;&#218;wu&#245;&#239;?µµwtvu&#238;&#233;…&#198;E&#65533;&#710;&#244;O&#232;&#184;¤&#193;q‰‰‹&#197;%&#161;q&#196;&#246;A&#210;&#226;3T‡&#201;¬2”&#220;¶w&#220;L5)&#210;&#254;—n<® n&#244;Qv»s&#193;&#710;&#241;&#179;4&#222;(~‚†&#143;&#236;&#143;
&#236;&#224;42&#222;&#192;&#248;&#227;&#170;&#65533;F	&#224;&#226;&#165;
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900273
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak
Разве нельзя задекларировать метод

Код: java
1.
2.
3.
4.
@RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET)
public @ResponseBody byte[]  getFile(...) {
   ...
}



чтобы умный Спринг понял, что byte[] - это для ответа?

хорошая мысль)
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900274
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот Баелдунг об этом пишет.

https://www.baeldung.com/spring-controller-return-image-file

применительно к картинкам и к RAW. Но какая в жопу разница.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900275
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
facepalm.

Это же то, что надо. Тот самый PDF. Content-Type только указать правильно.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900280
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander A. Sak
чтобы умный Спринг понял, что byte[] - это для ответа?

Обычно еще всякие header-ы надо добавлять. Способов еще можно придумать - пока это неважно наверное. Пока это самый старый и надежный )

apb12

попробовал - возвращает в браузер вот такое

Попробуй добавить:
авторContent-Type: application/pdf
Content-Disposition: attachment; filename="filename.pdf"

Этот по идее, если открыть сразу в браузере надо:
авторContent-Disposition: inline
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900287
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
попробовал -возвращает в браузер вот такое
не в отладчик, а в браузер?
Миме тип в заголовок.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900338
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бро тебе наверное надо сделать 2 сервлетика.

Один отдает линку вроде этой

Код: html
1.
<embed src="pdfShower/FuckenPdf.pdf" width="600" height="500" alt="pdf" pluginspage="http://www.adobe.com/products/acrobat/readstep2.html">



А второй pdfShower просто извлекает из базы документ
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900342
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak
facepalm.

Это же то, что надо. Тот самый PDF. Content-Type только указать правильно.

я думаю это стрим вернулся ,а чтобы собрать пдф нужен массив байт)
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900344
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Бро тебе наверное надо сделать 2 сервлетика.

Один отдает линку вроде этой

Код: html
1.
<embed src="pdfShower/FuckenPdf.pdf" width="600" height="500" alt="pdf" pluginspage="http://www.adobe.com/products/acrobat/readstep2.html">



А второй pdfShower просто извлекает из базы документ

щас будем делать)
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900345
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С богом.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900346
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Alexander A. Sak
чтобы умный Спринг понял, что byte[] - это для ответа?

Обычно еще всякие header-ы надо добавлять. Способов еще можно придумать - пока это неважно наверное. Пока это самый старый и надежный )


С явным HttpServletRespnse и в плане использования памяти получше будет. Я тоже так делаю когда надо просто байты вернуть.

Но вдруг у людей какие религиозные предубеждения против Servlet API. Или тесты, например, не рассчитаны на такие объекты, или просто внутренние правила.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900348
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда полезно отбросить программирование и просто изучить как работает Apache HTTP Server.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900363
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
С богом.

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

apb12
щас будем делать)
вот жук, заставил таки чела сделать пример тебе на блюдечке работающий)). Удачи!
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900365
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шикардос. Еще на 1 сайт стало больше. Еще сильнее наша планета греет атмосферу. И еще
сильнее плачет девочка Тунберг.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900368
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,спасибо за помощь.
Реально погряз в этих mvc и забыл как там все под капотом
Но честно кое что и узнал-например что браузер может пдф сгенерировать из байт массива
кому интересно как я сделал вот контроллер
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
   @RequestMapping(value = "/files", method = RequestMethod.GET)
    public void getFile(
            HttpServletResponse response) {
        try {
            Book book = bookRepo.getOne(18l);
             response.getOutputStream().write(book.getPdf());
            response.setDateHeader("Expires", -1);
            response.setContentType("application/pdf");
            response.setContentLength(book.getPdf().length);


        } catch (IOException ex) {
            throw new RuntimeException("IOError writing file to output stream");
        }

    }


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

ну а на фронте пока вот так,но это тоже тест вариант пока

Код: html
1.
<embed src="http://localhost:8080/book/files" width="850" height="900" type="application/pdf">




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

это все будет крутиться у них на локалке

менеджерюгам выделили наверно ляма два на это дело,нашли раба в виде меня я за 32 тыщи делаю))
взялся только потому что у меня уже готов шаблон по тестам был и он их устроил и система регистрации пользователей-там минимальные изменения
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900375
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
mayton,
это не сайт в прямом смысле этого слова,один завод заказал систему обучения и тестирования сотрудников по охране труда

это все будет крутиться у них на локалке

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

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

apb12
щас будем делать)
вот жук, заставил таки чела сделать пример тебе на блюдечке работающий)). Удачи!

петро не обижайся) я знаю шо там под капотом - но блин я уже впитал в себя этот гребаный mvc
я отдаю модель по запросу
а в модели лежит то что я хочу
я больше чем уверен есть способ и пдф этот в модель положить- просто нужно как то туда же хедеры заинжектить видимо
ну и помог человек и хорошо- теперь есть норм тема ,где люди найдут готовое решение
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900384
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
apb12
mayton,
это не сайт в прямом смысле этого слова,один завод заказал систему обучения и тестирования сотрудников по охране труда

это все будет крутиться у них на локалке

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

Чет мне кажется ты еще должен останешься, когда баги попрут и проект не примут. Ну это не камень в твой огород еси чо, просто так делается:)

тут не кинут я уже научен ) эти ребята получат только видео рабочей системы
все остальное после того как деньги будут у меня в кармане
а после я готов фиксить баги сколько угодно- проект не такой большой чтобы их там было овер много
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900385
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я помню модель отдавал как XML. А энричилась она - в браузере через XSLT. ИЧСХ эта трансформация
не грузила сервак а грузила браузер клиента.

У сегодняшних любителей JS+HTML5 пуканы подвзорвустся. Ведь они в моём коде ни пса-бы ни поняли.
Всё было pure-functional.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900389
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А я помню модель отдавал как XML. А энричилась она - в браузере через XSLT. ИЧСХ эта трансформация
не грузила сервак а грузила браузер клиента.

У сегодняшних любителей JS+HTML5 пуканы подвзорвустся. Ведь они в моём коде ни пса-бы ни поняли.
Всё было pure-functional.

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

apb12
честно кое что и узнал-например что браузер может пдф сгенерировать из байт массива
странные слова.
Браузер-меню-открыть. Там все РАСШИРЕНИЯ что он может из коробки.
Остальное просто тупо в файл на диске.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900405
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
больше чем уверен есть способ и пдф этот в модель
я думаю это плохо. Модель это динамика. А не pdf.
.

что ты понимаешь под словом динамика?
вот пользователь ввел например запрос на то сколько у него было тестов и я ему взял и положил в модель все эти тесты
обычный маппинг "test"->userRepo.findAll()
по итогу я могу на фронте взять атрибут тест и показать все тесты

чем отличается это от того что я положу в "test" массив байт?
абсолютно одинаковое действо за исключением того,что нужно как то показатиь что это будет pdf
я все равно найду как это делать ,Так как уверен что это реализовано)
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900413
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
что ты понимаешь под словом динамика?
это на запрос по одинаковому урлу получить один и тот же pdf.
Понятно?
Или не совсем?))
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900414
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
Ты без сервлета не врубаешься пока что такое урл.
https://ru.m.wikipedia.org/wiki/URI
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900415
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так как если урл одинаковый, то браузер не спросит реально сервер pdf.
Вообще не спросит.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900416
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
что ты понимаешь под словом динамика?
это на запрос по одинаковому урлу получить один и тот же pdf.
Понятно?
Или не совсем?))

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

а если запрос на тесты то спросит если урл одинаковый?))

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

а если вместо pdf будет String?спросит?)
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900423
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
Я же говорю. У тебя немасштабируемое приложение так как урл не работает.
У тебя по одному урл
/APP/дай
Идет запрос в json внутри.
..
Это как вместо 40 методов сделать один с параметром Message
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900424
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
ты покури что такое mvc
с каких пор MVC отменяют статику - фото, рисунки, изображения, тайлы карт, ГОСТ документы,...
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900428
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12,
Я же говорю. У тебя немасштабируемое приложение так как урл не работает.
У тебя по одному урл
/APP/дай
Идет запрос в json внутри.
..
Это как вместо 40 методов сделать один с параметром Message

ты смотри ты заявил что модель это динамика ,А пдф нет
я хочу обоснования этого заявления,НЕ съезжай с темы
чем List<Spring> положенный в модель будет отличаться от byte[] ,?так же положенный в модель?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900429
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
ты покури что такое mvc
с каких пор MVC отменяют статику - фото, рисунки, изображения, тайлы карт, ГОСТ документы,...

наверно с тех самых ,КАк ты утвердил что не может отображать ее)
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900433
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
У тебя ничем не будет.
Пойми, куда ложить решает программист.
Если самогон поставить рядом с вином Бордо, то для тебя всё едино.
Программист стремится увеличивать статику. А ты не врубаешься.
Кеш не работает без нее.
Сколько качается pdf 600 dpi скан А4?
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900435
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
утвердил что не может отображать ее)
бойся крайностей.
Может, но нежелательно)).
Под статику отдельный сервер ставят. Апач например.
А ты вполне можешь на один урл выдать 1500 фото сотрудников. По айди json в запросе.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900443
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
утвердил что не может отображать ее)
бойся крайностей.
Может, но нежелательно)).
Под статику отдельный сервер ставят. Апач например.
А ты вполне можешь на один урл выдать 1500 фото сотрудников. По айди json в запросе.

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

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

Надо код написать просто алгоритмически правильно и красиво. Без side-effects.

А оптимизация придет потом. И с седым зрением.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900501
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я-бы придерживался точки зрения старины Кнута. Не стоит ничего вообще преждевременно оптимизировать.

Надо код написать просто алгоритмически правильно и красиво. Без side-effects.

А оптимизация придет потом. И с седым зрением.
Ага, только есть кое-какая проблема... Кнут какбы изначально код пишет ровный, поэтому там действительно смысла нет оптимизировать на ранней стадии, ибо детских болезней нет. А ТС же даже документацию прочесть не может и выяснить что там есть по крайней мере @ResponseBody если нужно только байты послать и HttpEntity если нужно еще заголовков накинуть, зато сразу незадумываясь идет гадить в response.getOutputStream()
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900511
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
mayton
Я-бы придерживался точки зрения старины Кнута. Не стоит ничего вообще преждевременно оптимизировать.

Надо код написать просто алгоритмически правильно и красиво. Без side-effects.

А оптимизация придет потом. И с седым зрением.
Ага, только есть кое-какая проблема... Кнут какбы изначально код пишет ровный, поэтому там действительно смысла нет оптимизировать на ранней стадии, ибо детских болезней нет. А ТС же даже документацию прочесть не может и выяснить что там есть по крайней мере @ResponseBody если нужно только байты послать и HttpEntity если нужно еще заголовков накинуть, зато сразу незадумываясь идет гадить в response.getOutputStream()

покажи как надо)это же форум- тема с хорошим названием - в гугле проиндексируется 100%

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

ты же зашел в тему написал хер знает сколько пустых слов - которые нахер никому не нужны-вместо этого просто показал бы решение и все)как на стаке
и тема бы полезна была и тебе в карму +

пс.вот именно поэтому форум и сдох - ибо потерял основной свой смысл,кроме негатива и всякой херни в свой адрес ты ничего не получаешь) так какой смысл тут сидеть - проще на стаке вопрос задать где тебе без окунания лицом в унитаз помогут
я лично уже привык и просто игнорирую ,но новый народ просто свалит и все
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900516
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12, на стеке отмодерируют еще быстрее на самом деле. Я уже писал об этом.
На скруле есть технический спор. Дискурс. Именно этим он и интересен.
А эти тостеры и ответы-мейл-ру вводят регулятор. Есть вопрос. И есть кандидаты
ответов и точка. Там - невозможно иметь третью точку зрения. Прилетит в жбан
в считанные минуты. Лента сворачиватеся. Ответов невидно. Дизай сделан так
что нормальный сорц или картинку хрен приаттачишь. Яркий пример - фейсбук.
Убобищнее дизайна для исходников нельзя даже найти. Но.. (!) туда умудряются
постить сорцы! Без моноширного шрифта. С разваленными переносами.

А скруль?

И ты не поверишь. Только на этом форуме мемберы ходили (!) реально ходили
ябедничать главному на модераторов! Я сам это видел! Это неслыханно! Этого
вообще нигде нет чувак!
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900523
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
apb12, на стеке отмодерируют еще быстрее на самом деле. Я уже писал об этом.
На скруле есть технический спор. Дискурс. Именно этим он и интересен.
А эти тостеры и ответы-мейл-ру вводят регулятор. Есть вопрос. И есть кандидаты
ответов и точка. Там - невозможно иметь третью точку зрения. Прилетит в жбан
в считанные минуты. Лента сворачиватеся. Ответов невидно. Дизай сделан так
что нормальный сорц или картинку хрен приаттачишь. Яркий пример - фейсбук.
Убобищнее дизайна для исходников нельзя даже найти. Но.. (!) туда умудряются
постить сорцы! Без моноширного шрифта. С разваленными переносами.

А скруль?

И ты не поверишь. Только на этом форуме мемберы ходили (!) реально ходили
ябедничать главному на модераторов! Я сам это видел! Это неслыханно! Этого
вообще нигде нет чувак!

мне тоже не нравится стак,но там реально помогают,если ты грамотно поставил вопрос - без лишних вопросов и это очень круто
а дискусс там спокойно ведется с личке ,насколько я помню мне помогал чувак с шахматами мы с ним там спокойно общались вне модерирования
а тут зачастую не ттехнический дискус а просто "свышь ты лох" иди читай доки-99 тем тут этим оканчивается)
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900527
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну пойди сейчас туда со своим вопросом в этой же формулировке.
Посмотрим. Закроют со ссылкой в фак. Или дубль.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900552
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mad_nazgul
Создаться файл со случайным именем во временной директории системы.
а зачем, если сервлет без него отдаст?


Ну, если через Vaadin или jsf, то такие просто через сервлет иногда не получается.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900568
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
Ты смешной.
Зайди рядом в ветку. Как ты помог челу на вопрос?
Сказал ему - читай мои исходники в гитхабе и все.
А как в твоем топике с тобой носятся? Сколько страниц?
Прежде чем хотеть тут хабр или другие порядки, попробуй отвечать людям в их стиле.
У тебя не получилось вчера.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900571
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
пс.вот именно поэтому форум и сдох -
скажи. Почему ты не решил свой вопрос на первой странице?
Почему не смог?
Когда ответишь, поймешь что балабол и форум ни при чем. Там тебя забанят, а тут нет).
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900604
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
пс.вот именно поэтому форум и сдох -
скажи. Почему ты не решил свой вопрос на первой странице?
Почему не смог?
Когда ответишь, поймешь что балабол и форум ни при чем. Там тебя забанят, а тут нет).

все решил ,причем отрефакторил очень хорошенько ,теперь вот что осталось от кода))
Код: java
1.
2.
3.
4.
5.
  @GetMapping(value = "/read/{id}",produces = MediaType.APPLICATION_PDF_VALUE)
    public @ResponseBody byte[] getFile(@PathVariable("id")Book book){
        return book.getPdf();

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

я ему дал код ровно с таким же отношением 1 к1 -там весь проект от А до Я можно склонить и запустить даже
главное он увидит две эти сущности ,о чем собственно он и спрашивал
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900622
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
Код: java
1.
2.
3.
4.
5.
  @GetMapping(value = "/read/{id}",produces = MediaType.APPLICATION_PDF_VALUE)
    public @ResponseBody byte[] getFile(@PathVariable("id")Book book){
        return book.getPdf();

    }


Мда. Это конечно короче чем в сервлете).
И не программирование вовсе)).
Магия спринг.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900628
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
Код: java
1.
2.
3.
4.
5.
  @GetMapping(value = "/read/{id}",produces = MediaType.APPLICATION_PDF_VALUE)
    public @ResponseBody byte[] getFile(@PathVariable("id")Book book){
        return book.getPdf();

    }


Мда. Это конечно короче чем в сервлете).
И не программирование вовсе)).
Магия спринг.

и работает быстрей что самое удивительное,в прошлом варианте почему то бывало и 30 секунд браузер думал прежде чем показать пдф ,сейчас практически мгновенно
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900639
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
работает быстрей что самое удивительное
вот что плохо. Так это то что спринг прогер не понимает почему быстрее стало))))) LOL
А не спринг прогер. Или скажем так, пошире прогер - понимает.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900685
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12
работает быстрей что самое удивительное
вот что плохо. Так это то что спринг прогер не понимает почему быстрее стало))))) LOL
А не спринг прогер. Или скажем так, пошире прогер - понимает.

я могу только предпологать - что мы же избавились от записи в outputstream поэтому стало быстрей- мы возвращаем то взяли с базы без каких либо дополнительных манипуляций)
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900705
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
я могу только предпологать
-1
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900707
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
От записи в outputstream не уйти в любом случае, писать в сокет хоть как как-то надо. Вопрос только сколько там прослоек между ними. За эту запись при возврате byte[] должен отвечать ByteArrayHttpMessageConverter и в нем примерно тоже самое. Для общего развития можно глянуть в чем принципиальная разница в IOUtils#copy и спрингового StreamUtils#copy - может что-то прояснится. Но про тормоза звучит странно.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900714
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
PetroNotC Sharp
пропущено...
вот что плохо. Так это то что спринг прогер не понимает почему быстрее стало))))) LOL
А не спринг прогер. Или скажем так, пошире прогер - понимает.

я могу только предпологать - что мы же избавились от записи в outputstream поэтому стало быстрей- мы возвращаем то взяли с базы без каких либо дополнительных манипуляций)

OutputStream спасает тебя от OOM exception. Ведь никто не знает какого размера у тебя pdf. Он будучи отчотом
может содержать овер дохрена печатных страниц и может переполнить твою доступную память (heap).
Грубо говоря byte[] может не аллоцируется.

Изучи вопрос глубже. Не будь поверхностным. Уровень seniority растет когда ты понимаешь цену вещам.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900727
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Но про тормоза звучит странно.
да он так, ляпнул просто так.
Если он не знает низов работы http сервера и ненавидит сервлеты.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900729
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Изучи вопрос глубже. Не будь поверхностным. Уровень seniority растет когда ты понимаешь цену вещам.
+1
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900778
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще спринговую Resource заатачить, чтобы руками не прикручивать блоб из БД к servlet response,
там много у спринга приятных реализаций.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900800
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
apb12
пропущено...

я могу только предпологать - что мы же избавились от записи в outputstream поэтому стало быстрей- мы возвращаем то взяли с базы без каких либо дополнительных манипуляций)

OutputStream спасает тебя от OOM exception. Ведь никто не знает какого размера у тебя pdf. Он будучи отчотом
может содержать овер дохрена печатных страниц и может переполнить твою доступную память (heap).
Грубо говоря byte[] может не аллоцируется.

Изучи вопрос глубже. Не будь поверхностным. Уровень seniority растет когда ты понимаешь цену вещам.

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

OutputStream спасает тебя от OOM exception. Ведь никто не знает какого размера у тебя pdf. Он будучи отчотом
может содержать овер дохрена печатных страниц и может переполнить твою доступную память (heap).
Грубо говоря byte[] может не аллоцируется.

Изучи вопрос глубже. Не будь поверхностным. Уровень seniority растет когда ты понимаешь цену вещам.

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

А если сетка станет слабой в "обратном" направлении? И в активных сессиях провиснут около 200 пользователей.
20 Мб * 200 = 4 000 Mb а это уже мать ево критичная цифра для многих конфигураций даже сегодня.

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

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

А если сетка станет слабой в "обратном" направлении? И в активных сессиях провиснут около 200 пользователей.
20 Мб * 200 = 4 000 Mb а это уже мать ево критичная цифра для многих конфигураций даже сегодня.

Теперь можем обсуждать тему возможности или не-возможности этой ситуации.

4000 мб для сервера это много?
да и не будет там столько пользователей -ориентировочно не больше 20-30 ,это мой ноут на дефолте вытащит
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900830
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
это уже мать ево критичная цифра
все встанет колом.
И шеф скажет вынести всю статику и документы на отдельный сервак.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900833
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
mayton
пропущено...

А если сетка станет слабой в "обратном" направлении? И в активных сессиях провиснут около 200 пользователей.
20 Мб * 200 = 4 000 Mb а это уже мать ево критичная цифра для многих конфигураций даже сегодня.

Теперь можем обсуждать тему возможности или не-возможности этой ситуации.

4000 мб для сервера это много?
да и не будет там столько пользователей -ориентировочно не больше 20-30 ,это мой ноут на дефолте вытащит

Ну тогда с богом. Я надеюсь что byte[] не станет основным твоим паттерном возврата данных из метода.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900837
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,я им приедложу услуги по поддержке проекта в течении там полугода за небольшую мзду)
но блин они крахаборы конечно ,такую систему им за 40 рублей всего делаю ,щас люди за парсеры платят по 10ке ,где 20 строчек кода
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900852
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Найди в конце концов аутсорсинговую контору. Java-Dev даже джуниорского левла получает больше и
даже ничего не делая все равно получает ставку.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900867
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Найди в конце концов аутсорсинговую контору. Java-Dev даже джуниорского левла получает больше и
даже ничего не делая все равно получает ставку.

так я сижу в бодишопе и тоже ничего не делаю(жду проекта) ,получаю немного,но тут есть дмс и на меня и на ребенка
все выходные,график не напряжный .Вот пока жду качаю скилы на кворке.
просто проблема в том,что я тут могу просидеть на скамейке запасных еще и год и два - а кворк это хорошо,но этот опыт не совсем тот,который хотят видеть работадатели
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900908
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ребят как с помощью хибера удалить запись в таблице созданной при отношениях Many2Many
но не затрагивать две основные таблицы,что то не могу найти как это сделать
есть сущность юзер
есть сущность бук
вот они джоинятся по id
создается таблица юзер_бук
из которой нужно удалить запись
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900916
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
Показывай как туда попала запись.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900918
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12,
Показывай как туда попала запись.

туда я руками вбивал через pg4Admin
но я понял к чему ты клонишь) вообще и записывать тоже не получиться через хибер -хибер же оперирует сущностями
а у меня этой сущности нет

вообщем вместо many2many наверно проще ввести доп сущность
у которой будет 3 поля
id
user
book
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900924
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12,
Да
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900929
apb12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
apb12,
Да

Усе я допер) это тех таблица -просто связывающая две другие ,удалить с нее ничего нельзя ,так как хибер оперирует сущностями
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900939
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот вбивал через pg4Admin - так через него и удаляй.
...
Рейтинг: 0 / 0
Spring MVC, чтение pdf файла из базы данных
    #39900954
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ну вот вбивал через pg4Admin - так через него и удаляй.
он в прошлый раз в проекте цветы так радовался что там автоматом связующа табла. И что все просто и шеколадно).
...
Рейтинг: 0 / 0
163 сообщений из 163, показаны все 7 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring MVC, чтение pdf файла из базы данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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