Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 5

Добавить изображение в документ (Spring)

18.07.2015, 20:21. Показов 1207. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Изучением Java занялся недавно, поэтому просьба адекватно отреагировать.

Задача: Есть документ, нужно реализовать загрузку изображения в него посредством spring.

Сделал загрузку файла с помощью spring как это указано здесь, но теперь нужно как-то добавить его в документ. Решил сделать это с помощью XWPF, но возник вопрос: как обращаться к загруженному файлу?

Так не выходит, потому что вместо file нужно указывать путь к файлу:

Java
1
2
3
XWPFParagraph par = document.createParagraph();
XWPFRun run = par.createRun();
run.addPicture(file, XWPFDocument.PICTURE_TYPE_JPEG, "name", 300, 300);
Подскажите, пожалуйста, как лучше реализовать
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.07.2015, 20:21
Ответы с готовыми решениями:

Как добавить узел в документ XML не загружая в память весь документ
Вот собственно вопрос сейчас использую XDocument. То есть формирую узел XElement, добавляю его в xDocument и пишу на диск весь xDocument....

Как добавить ссылку на документ-основание в другой документ?
Здравствуйте! У меня учебная задача, делаю свою легонькую конфигурацию. Есть документ "Индивидуальный заказ" с тч...

Изображение как документ
Добрый день! Есть обработка сообщения фотографии боту. Я заметил что если отправлять боту фотографию и сразу же ее принимать как...

10
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
18.07.2015, 20:32
Цитата Сообщение от Headerino Посмотреть сообщение
Есть документ, нужно реализовать загрузку изображения в него посредством spring.
спринг тут непричем.

Чтобы передать путь до файла, полученный файл сохраните во временную директорию и передайте этот путь.

Добавлено через 5 минут
Судя по документации метода, первым параметром должен идти как раз инпут стрим файла. Тогда непонятно в чем проблема.
0
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 5
19.07.2015, 15:02  [ТС]
Видимо, я не понимаю чего-то совсем очевидного, но зачем делать еще один инпут, ведь после выполнения FileUploadController(к нему прикручена форма) файл уже загружен? Как обратиться к загруженному изображению, чтобы его вставить?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
19.07.2015, 16:36
Цитата Сообщение от Headerino Посмотреть сообщение
Как обратиться к загруженному изображению, чтобы его вставить?
покажите контроллер где получаете загруженное изображение
0
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 5
19.07.2015, 16:51  [ТС]
У меня только один контроллер - тот, что в примере.

Если я правильно понимаю, благодаря ему осуществляется загрузка файла, а все данные о нем сохраняются в bytes. Проблема в том, что я не понимаю как мне в методе addPicture использовать этот файл. Ну или же я неверно понимаю как работает контроллер
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
19.07.2015, 18:45
Цитата Сообщение от Headerino Посмотреть сообщение
У меня только один контроллер - тот, что в примере.
в примере данные пишуться на диск в файл. Загружите его оттуда, получите его стрим и передавайте.
0
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 5
19.07.2015, 19:38  [ТС]
Делаю так- не работает. Есть ощущение, что я либо файл неверно выбираю, либо еще какую-то мелочь упускаю
Java
1
2
3
4
5
6
7
8
9
10
InputStream pic=null;
try {
    pic = new FileInputStream("name");
} catch (FileNotFoundException e1) {
    e1.printStackTrace();
}
 
XWPFParagraph par = document.createParagraph();
XWPFRun run = par.createRun();
run.addPicture(pic, XWPFDocument.PICTURE_TYPE_JPEG, "name", 300, 300);
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
19.07.2015, 20:11
Headerino,
ексепшен не пишет?
файл сохраняется вообще? Вы его открыть можете сами?
0
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 5
19.07.2015, 20:21  [ТС]
У меня есть готовое приложение для работы с документами, а загрузку изображения нужно просто добавить.

Разворачиваю приложение через томкат, на странице с формой выбираю файл, жму подтверждение(которое одновременно является подтверждением вставки изображения в текст). В логах томката пишет, что нет такой директории/файла. Сам файл я найти/открыть нигде не могу
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
19.07.2015, 20:32
Цитата Сообщение от Headerino Посмотреть сообщение
Сам файл я найти/открыть нигде не могу
ну так значит нет файла. Включайте дебаг и вперед с песнями. Смотрите что приходит, куда сохраняется и почему не пишет в файл.
0
40 / 40 / 20
Регистрация: 14.05.2015
Сообщений: 116
20.07.2015, 13:25
Headerino, Tomcat записывает на диск в директорию %CATALINA_HOME%, а читает из рута проекта, т.е. если
Java
1
File file=new File("myfile.jpg");
то при записи на диск он окажется в %CATALINA_HOME%/myfile.jpg
а при чтении(напр. read(file)) томкат искать будет в корне проекта(веб-проекта)

Можно сделать так:
Java
1
2
String path = System.getProperty("user.home");
File file = new File(path + "/myfile.jpg");
привязав файл к домашней директории.
Список ключей системных настроек
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.07.2015, 13:25
Помогаю со студенческими работами здесь

Добавить загрузку файла в Spring проект
Ситуация такая,имеется некое веб приложение с использованием спринга+секьюрити, все сделано, все верно работает Нужно добавить в него...

Spring MVC как добавить listener логировщика в AbstractAnnotationConfigDispatcherServletInitializer
Здравствуйте! Столкнулся с такой проблемой: Нужно добавить логировщик в проект, но при запуске появляется ошибка: log4j:WARN No...

Создать документ в котором бы заменялось изображение через промежуток времени
Создать документ в котором бы заменялось изображение через промежуток времени

Открыть текстовый документ или изображение при нажатии на кнопку
всем привет! хочу узнать как при помощи button при нажатии кнопки требовало открыть какой нибудь текстовый документ или же изображение ...

Добавить конкретную номенклатуру в документ
Здравствуйте! подскажите, как по кнопке обработать , добавить номенклатуру , название её берется из строковой переменной в Наименование,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru