Skip to content

服务集成

安装并启动成功后,简单几步就可以集成文件预览服务到自己的业务系统。

依赖项

预览参数需要做序列化后 base64 编码,所以会用到 js-base64

html
<!-- cdn 方式引入 -->
<script src="https://cdn.jsdelivr.net/npm/js-base64@3.7.8/base64.min.js"></script>
js
// esm 方式引入
import { Base64 } from "js-base64";

预览文件

Fileview 支持两种传参方式,你可以任意选择其中一种

使用 query 参数

js
// 构造参数
const url = encodeURIComponent(
  Base64.encode("https://mydomain.com/myfiles/sample.docx")
); // 网络文件地址,支持 http/https/ftp
const fileName = encodeURIComponent(Base64.encode("sample.docx")); // 真实文件名,用作文件类型判断,如果文件地址中没有正确文件后缀,则必须手动传递
const displayName = encodeURIComponent(Base64.encode("网络示例文档")); // 用于标题栏等展示的文件名,非必需

// 构造预览地址
const previewUrl = `https://yourPreviewService/preview/view?url=${url}&fileName=${fileName}&displayName=${displayName}`;
window.open(previewUrl, "_blank");

使用 data 传递 json 数据

js
// 构造参数
const opts = {
  url: "https://mydomain.com/myfiles/sample.docx", // 网络文件地址,支持 http/https/ftp
  fileName: "sample.docx", // 真实文件名,用作文件类型辅助判断,如果文件地址中没有正确文件后缀,则需要手动传递
  displayName: "网络示例文档", // 用于标题栏等展示的文件名,非必需
};

// 对参数进行base64编码
const base64Data = encodeURIComponent(Base64.encode(JSON.stringify(opts)));

// 构造预览地址
const previewUrl = `https://yourPreviewService/preview/view?data=${base64Data}`;
window.open(previewUrl, "_blank");

预览本地文件

预览服务器上的本地文件方式与远程文件基本一致,只是文件路径的传参由 url 变为 path

js
// 构造参数
const path = encodeURIComponent(
  Base64.encode("/opt/myfiles/sample.docx")
); // 本地文件地址
const fileName = encodeURIComponent(Base64.encode("sample.docx")); // 真实文件名,用作文件类型判断,如果文件地址中没有正确文件后缀,则必须手动传递
const displayName = encodeURIComponent(Base64.encode("本地示例文档")); // 用于标题栏等展示的文件名,非必需

// 构造预览地址
const previewUrl = `https://yourPreviewService/preview/view?path=${path}&fileName=${fileName}&displayName=${displayName}`;
window.open(previewUrl, "_blank");

子目录部署场景

系统支持子目录部署,具体见 子目录部署

此时预览服务的路径则为 https://yourPreviewService/<subpath>/preview/view?data=${base64Data}