Решение, позволяющее элегантно и эффективно просматривать файлы.

Java задняя часть
Решение, позволяющее элегантно и эффективно просматривать файлы.

Эта статья участвовала в приказе о созыве Haowen, нажмите, чтобы просмотреть:Двойные заявки на внутреннюю и внешнюю стороны, призовой фонд в 20 000 юаней ждет вас, чтобы бросить вызов!

предисловие

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

Три наиболее часто используемых метода реализации, их преимущества и недостатки

  • метод первыйИспользуйте метод онлайн-ссылки officeapps для достижения

Конкретно"view.office apps.live.com/op/view.asp…, URL-адрес здесь представляет собой путь доступа к файлу из внешней сети. Примечание. URL-адрес должен представлять собой путь, к которому может получить доступ внешняя сеть, в противном случае предварительный просмотр невозможен. Справочный код выглядит следующим образом:

https://view.officeapps.live.com/op/view.aspx?src=https://demo.jeesite.com/js/a/file/download/1148195356402933760.doc

Эффект предварительного просмотра:

微信图片_20210708224951.png

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

недостаток: URL-адрес должен быть путем к файлу, доступному из внешней сети.Если к серверу, на котором хранится файл, нельзя получить доступ через внешнюю сеть, этот метод не может обеспечить предварительный просмотр, и поскольку служба будет считывать информацию о файле из сервер во время предварительного просмотра, могут возникнуть угрозы безопасности. , некоторые документы, связанные с конфиденциальностью, не рекомендуется отображать таким образом. Кроме того, поскольку это сторонняя онлайн-служба, закрытие службы officeapps повлияет на функции проекта.

  • Способ 2Создайте свой собственный офис-онлайн-сервис

Способ построения можно посмотреть по ссылке:Предварительная версия Office Online с Office Online Server

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

недостаток: Объем службы большой, процесс построения громоздкий, существуют требования к аппаратной системе (среда установки должна состоять из двух серверов Windows Server 2012 R2 или Windows Server 2016, один для офисной онлайн-службы и один для управления доменом). service), но и устанавливать соответствующую зависимую среду, и дополнительно увеличивает стоимость сервера, да и операция относительно громоздкая, поэтому этот способ не рекомендуется.

  • способ третийИспользуйте пакет jar, соответствующий сервису с открытым исходным кодом kkFileView, чтобы вручную создать сервис предварительного просмотра (могут быть реализованы как среды Windows, так и среды Linux)

преимущество: Сторонний пакет jar, дополнительные затраты на разработку не требуются, его можно использовать путем загрузки и развертывания, простота в эксплуатации и удобство использования.

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

Таким образом, использование пакета jar, соответствующего kkFileView, несомненно, является наиболее экономичной реализацией. Далее я сосредоточусь на процессе создания службы предварительного просмотра для kkFileView, которая в основном разделена на две части: версия для Windows и служба для версии для Linux.

1 Построение сервиса оконной версии

путь загрузки пакета jar:URL-адрес, Код извлечения: yqsy

Процесс сборки:

1. 1Разархивируйте загруженный пакет .zip

1. 2Перейдите в каталог bin и дважды щелкните файл .bat для запуска.

1. 3На странице vue вам нужно добавить кнопку предварительного просмотра, ввести метод и выполнить вызов объединения путей.Код выглядит следующим образом, URL-адрес — это полный физический путь к файлу, и если nginx используется в качестве прокси, это путь сетевого прокси, где localhost:8012 — это путь доступа к службе предварительного просмотра, личное предложение. Попробуйте заменить localhost на ip иhttp://localhost:8012/onlinePreview?url=Создайте настраиваемый путь и настройте его для динамического чтения в файле, где находится внешний интерфейс.

fileView: function(url) {
  let Base64 = require('js-base64').Base64;
  window.open('http://localhost:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(url)));  
},

Уведомление: поскольку метод использует base64 для шифрования пути URL-адреса, инфраструктуре vue необходимо ввести компонент base64.Команда установки выглядит следующим образом:

npm install --save js-base64 或者cnpm install --save js-base64

1. 4доступ к сервису Введите localhost: 8012 или ip: 8012 для URL-адреса, нажмите Enter, если вы увидите следующий интерфейс, это означает успех.

微信图片_20210708235357.png

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

Скриншот ниже:

微信图片_20210708235826.png

微信图片_20210708235836.png

2 linux версия сервиса построения

путь загрузки пакета jar:URL-адрес, Код извлечения: yqsy

Процесс строительства:

2. 1Разархивируйте загруженный пакет .tar.gz

2. 2Перейдите в каталог bin и запустите файл сценария .sh.

2. 3Из-за отсутствия китайских шрифтов в системе linux при предварительном просмотре файла могут появляться искаженные символы, поэтому вам необходимо установить соответствующие шрифты, сначала загрузить пакет шрифтов,URL-адрес, извлеките код: yqsy, затем распакуйте файл и скопируйте его в каталог /usr/share/fonts под Linux для установки, как показано на рисунке

微信图片_20210709001510.png

Выполните следующие три команды, чтобы шрифт вступил в силу.

微信图片_20210709001226.png

1. 4доступ к сервису Введите localhost: 8012 или ip: 8012 для URL-адреса, нажмите Enter, если вы увидите следующий интерфейс, это означает успех.

微信图片_20210708235357.png

Предварительный просмотр аналогичен операции под окном.

Примечание: Скачанный файл действителен в течение дней 30. Если вы не можете его скачать, вы можете оставить комментарий в редакцию, чтобы получить новую ссылку.

Что ж, сегодняшняя публикация здесь. Если она вам поможет, не забудьте поставить лайк редактору! Если у вас есть лучший способ реализовать это, вы также можете оставить комментарий ниже и обсудить его вместе!