在线预览项目kkFileView(一)项目搭建与使用

由于项目需要在线预览 开始想自己实现 如上文 

但是也想弄一份html格式的 但是格式总是达不到理想 所以使用了  kkFileView

1. kkFileView介绍

kkFileView是git的开源(不花钱)在线预览项目 支持格式:doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本如txt、html、xml、java、properties、sql、js、md、json、conf、ini、vue、php、py、bat、gitignore 

所以优点是 免费 好搭建 (感谢作者)

2.安装下载

地址:https://gitee.com/kekingcn/file-online-preview/releases 

可以在以上地址下载到windows版本和linux版本

3.配置

下载到包后解压 项目中的配置都是可改变的 配置文件在下图 (linux同理)

可以好好查看 可配置项 我这里只改变了上传的文件路径 为了统一的清除临时文件

4.启动

进入以下文件夹

window:双击startup.bat或者cmd - 输入startup.bat

linux:./startup.sh (这里我是用的CentOS Linux release 7.7.1908 (Core) 启动会自动下载 项目需要的插件 如:openoffice)

5.调用

我这里使用了这种方法 第一行也就是提供了一个下载文件的接口 在response中返回流 代码如下  然后在vue中调用open方法就可以了

var previewUrl = http://127.0.0.1:8080/filedownload?fileId=1+'&fullfilename=test.txt' 提供一个下载文件接口
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(previewUrl));
/**
     * 线上预览使用 为预览服务器提供下载流
     * 
     * @param fileMessage
     * @return
     */
    @GetMapping("/onlineDownloadFile")
    public String onlineDownloadFile(FileMessage fileMessage)  {
        // 获取HttpServletResponse
        HttpServletResponse response =
            ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getResponse();
        String route = fileMessage.getFileRoute();
        String fileName = fileMessage.getFullfilename();// 文件名
        if (fileName != null && route != null) {
            // 设置文件路径
            File file = new File(fileMessage.getFileRoute() + "/" + fileName);
            if (file.exists()) {
                // 设置HTTP响应头
                response.reset();
                try {
                    OutputStream os = response.getOutputStream();
                    // 读取文件
                    InputStream in = new FileInputStream(file);
                    // copy文件
                    IOUtils.copy(in, os);
                    in.close();
                    os.close();
                    return "下载成功";
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
        return "下载失败";
    }

  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鲍侃java

请博主喝个可乐吧,可加微信面基

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值