0 kkFileView使用指南
kailing edited this page 2021-02-03 09:19:30 +08:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

当您的项目内需要预览文件时只需要调用浏览器打开本项目的预览接口并传入须要预览文件的url。

注意如果要预览的url里包含需要转义的特殊字符如下表格请使用encodeURIComponent(url)转义

符号 url中转义结果 转义码
+ URL 中+号表示空格 %2B
空格 URL中的空格可以用+号或者编码 %20
/ 分隔目录和子目录 %2F
分隔实际的URL和参数 %3F
% 指定特殊字符 %25
# 表示书签 %23
& URL 中指定的参数间的分隔符 %26
= URL 中指定参数的值 %3D

3.x以上版本预览注意

3.x系列以上版本为了解决不规范url命名以及传参问题对传入的文件 url 进行了 base64 编码处理,所以在预览的时候需要对 url 进行编码,如:

var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(url)));

1. 普通文件下载url预览

var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(url));

2. http/https下载流url预览

很多系统内不是直接暴露文件下载地址而是请求通过id、code等参数到通过统一的接口后端通过id或code等参数定位文件再通过OutputStream输出下载此时下载url是不带文件后缀名的预览时需要拿到文件名传一个参数fullfilename=xxx.xxx来指定文件名,示例如下

var originUrl = 'http://127.0.0.1:8080/filedownload?fileId=1'; //要预览文件的访问地址
var previewUrl = originUrl + '&fullfilename=test.txt'
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(previewUrl));

3. FTP下载url预览

1). FTP匿名访问

如果要预览的FTP url是可以匿名访问的不需要用户名密码则可以直接通过下载url预览示例如下

var url = 'ftp://127.0.0.1/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(url));

2). 非匿名访问确定只有访问一台FTP服务器

如果预览服务只访问一台FTP服务器只需要在配置文件中 配置FTP链接信息 则可以直接通过下载url预览示例如下

var url = 'ftp://127.0.0.1/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(url));

3). 非匿名访问不只访问一台FTP服务器

如果预览服务要访问多台FTP服务器且用户名密码不一致可以通过在url中加入用户名密码等参数预览(url参数中的优化于配置文件中的),示例如下,

var originUrl = 'ftp://127.0.0.1/file/test.txt'; //要预览文件的访问地址
var previewUrl = originUrl + '?ftp.username=xx&ftp.password=xx&ftp.control.encoding=xx';
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(previewUrl));