SpringBoot: онлайн-просмотр универсального файла kkFileView (с открытым исходным кодом)
SpringBoot: онлайн-просмотр универсального файла kkFileView (с открытым исходным кодом)

Предисловие

В предыдущей статье мы использовали MinIO для реализации файлового хранилища, которое используется для хранения файлов в различных форматах. Иногда нам нужно не только хранилище файлов, но и онлайн-просмотр файлов. Здесь я рекомендую вам артефакт kkFileView для предварительного просмотра файлов, основанный на Spring Boot. Он в основном поддерживает онлайн-просмотр основных файлов. Я надеюсь, что он будет полезен всем.

Введение в kkFileView

kkFileView можно использовать для создания службы онлайн-просмотра файлов, и на Github он имеет более 5,7 тыс. звезд. Этот проект создан с использованием популярного SpringBoot, который легко начать и развернуть. Он в основном поддерживает онлайн-просмотр основных офисных документов, таких как docx, xlsx, pptx, pdf, txt, zip, изображения, видео, аудио и т. д. Характеристики проекта можно посмотреть на рисунке ниже.

1. Установка и развертывание

kkFileView поддерживает установку под Windows и Linux. Давайте представим его установку ниже. По сути, он работает «из коробки».

1.Windows
  • Сначала загрузите последнюю версию установочного пакета, адрес загрузки: https://gitee.com/kekingcn/file-online-preview/releases.
  • После успешной загрузки,Разархивировать в указанный каталог,тогда бегиbinв каталогеstartup.batПросто закажи;

![Изображение](данные:изображение/svg+xml,%3C%3Fxml version='1.0'coding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cgstroke='none'stroke-width='1'fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg Transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C /г%3E%3C/svg%3E)

  • Поскольку это проект SpringBoot,Если вы хотите изменить Конфигурацию,Просто изменитеconfigв каталогеapplication.propertiesПросто файл。
2.Linux
  • Установка с помощью Docker под Linux очень проста. Для этого требуется всего две команды. Сначала загрузите образ Docker kkFileView;
Язык кода:javascript
копировать
docker pull keking/kkfileview
  • После завершения загрузки запустите Docker-контейнер kkfileview.,Служитьбудет работать дальше8012в порту;
Язык кода:javascript
копировать
docker run -p 8012:8012 --name kkfileview \
-d keking/kkfileview
  • После успешного запуска вы можете получить доступ к тестовой странице kkfileview по адресу: http://192.168.7.109:8012.

2. Используйте

Ранее мы использовали MinIO для создания службы хранения объектов. Затем мы объединили kkfileview с MinIO. Сначала мы сохранили файлы, которые нужно было просмотреть в Интернете, в MinIO, а затем просмотрели файлы.

  • мы можем использоватьS3 BrowserуправлятьMinIOфайлы в,Сначала создайтехранилищеведро дляpreview,Затем загрузите все файлы;
  • После успешной загрузки вам необходимо изменить политику доступа к бакету хранилища, чтобы анонимные пользователи могли получить к нему доступ;
  • Прямая ссылка при изменении стратегииPolicy ExamplesВот и все,Обратите внимание на изменениеversionдля2012-10-17
  • После успешного изменения вы можете просмотреть файл онлайн.,Давайте посмотрим на формат URL-адреса файла онлайн-предварительного просмотра.,Просто введите URL-адрес (адрес файла, который необходимо просмотреть),Что здесь следует отметить, так этоurlнеобходимо провестиbase64Просто кодирую;
Язык кода:javascript
копировать
http://192.168.7.109:8012/onlinePreview?url=base64Encode($url)
  • Далее давайте попробуем просмотреть изображение. Сначала получим адрес доступа к изображению;
картина
картина
  • Тогда найдите сайтurlруководитьbase64кодирование,Я использую это: https://tool.oschina.net/encrypt?type=3
  • Далее укажите параметры URL в пути доступа для предварительного просмотра изображения. Разве это не очень просто?
  • Давайте еще раз просмотрим документ Word.,Мы можем обнаружить, что существуетJPGкнопка,Можно переключиться на просмотр JPG,Фактически, kkfileview осуществляет предварительный просмотр документов путем преобразования документов Word в PDF или JPG;
  • Затем просмотрите документ ppt и обнаружите, что документ ppt также просматривается путем преобразования его в PDF и JPG;
  • Давайте еще раз просмотрим PDF-документ. Отличий от двух предыдущих нет;

![Изображение](данные:изображение/svg+xml,%3C%3Fxml version='1.0'coding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cgstroke='none'stroke-width='1'fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg Transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C /г%3E%3C/svg%3E)

  • Давайте еще раз просмотрим документ Excel. Эффект предварительного просмотра необходимо улучшить;
  • Давайте просмотрим обычный текстовый документ Markdown;
  • Наконец, давайте просмотрим сжатый файл. Он поддерживает просмотр содержимого сжатого файла. Щелкните файл, чтобы просмотреть его напрямую.

3. Конфигурация

Многочисленная конфигурация от kkfileview,Конкретная прямая ссылкаconfigв каталогеapplication.propertiesПросто файл,Вот введение в настройку конфигурации в контейнере Docker.

  • Если вы хотите изменить файл конфигурации kkfileview,Вы можете начать сDockerконтейнер Копировать Конфигурация Каталог файлов;
Язык кода:javascript
копировать
docker cp kkfileview:/opt/kkFileView-3.5.1/config /mydata/kkFileView/
  • Затем измените каталог конфигурации.、Каталог файлов、Каталог журналов монтируется на хост и запускается;
Язык кода:javascript
копировать
docker run -p 8012:8012 --name kkfileview \
-v /mydata/kkFileView/config:/opt/kkFileView-3.5.1/config \
-v /mydata/kkFileView/file:/opt/kkFileView-3.5.1/file \
-v /mydata/kkFileView/log:/opt/kkFileView-3.5.1/log \
-d keking/kkfileview
  • Если мы хотим добавить водяной знак в файл предварительного просмотра,Может быть измененapplication.propertiesФайл выглядит следующим образом Конфигурация,Например, я хочу добавитьmacrozhengЭтот водяной знак;
Язык кода:javascript
копировать
#содержание водяного знака
#Если вам нужно отменить водяной знак, просто установите пустое содержимое, например: Watermark.txt = ${WATERMARK_TXT:}
watermark.txt = ${WATERMARK_TXT:macrozheng}
  • После успешного изменения просмотрите изображение еще раз, и вы обнаружите, что водяной знак добавлен.

краткое содержание

Попрактиковавшись с kkFileView, мы обнаружили, что kkFileView может удовлетворить потребности в онлайн-просмотре основных файлов, таких как документы Office, видео и изображения. Он также очень прост в использовании и настройке. Поскольку он реализует предварительный просмотр путем преобразования документов Word и PPT в PDF, если у вас нет особенно высоких требований к предварительному просмотру документов Office, вы можете использовать его для создания универсальной службы онлайн-просмотра файлов!

1.Справочные материалы

Официальная документация:https://kkfileview.keking.cn/zh-cn/index.html

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose