博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
七牛云存储+Google文件查看器 实现在线预览文档功能
阅读量:7184 次
发布时间:2019-06-29

本文共 2290 字,大约阅读时间需要 7 分钟。

先看一下效果图:

由于一直都是走的java路线,所以在我接触Google文件查看器之前,我是把文档上传到自己文件服务器,通过POI()去解析各类文档的,但是通过POI实现在线查看文档是一件很麻烦的事情,而且效果很不好。后来接触到了Google文件查看器(),只要提供一个文档的url就可以在线预览 16 种以上不同类型的文件。现在是不用在后台解析文档了,但是考虑到用户请求响应时间的问题,就把文档直接存到七牛云存储上,七牛云存储的好处这里就不介绍了,七牛的官网()介绍的特别详细。上传文件请参考七牛官方文档()。下面是通过spring mvc实现在线预览word功能:

1 /** 2  * 七牛云存储控制器 3  *  4  * @author bingoogol@sina.com 5  */ 6 @Controller 7 @RequestMapping("/qiniu") 8 public class QiniuController { 9     10     /**11      * 响应客户端的在线查看请求12      * @param bucketName 空间的名字13      * @param hash 文件的名称14      * @param model15      * @return16      */17     @RequestMapping(value = "/view/{bucketName}/{hash}", method = RequestMethod.GET)18     public String view(@PathVariable String bucketName, @PathVariable String hash, Model model) {19         model.addAttribute("fileUrl", getFileUrl(bucketName, hash));20         return "front/qiniu/view";21     }22     23     /**24      * 获取文件的url25      * @param bucketName 空间的名字26      * @param hash 文件的名称27      * @return28      */29     private String getFileUrl(String bucketName, String hash) {30         //在此之前先参考七牛官方文档配置公钥和密钥(我已经在初始化servlet里已经配置好了)31         Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);32         try {33             String baseUrl = URLUtils.makeBaseUrl(bucketName + ".u.qiniudn.com", hash);34             GetPolicy getPolicy = new GetPolicy();35             String fileUrl = getPolicy.makeRequest(baseUrl, mac);36             System.out.println("编码前:" + fileUrl);37             // Google 文档查看器要求url是经过iso-8859-1编码的38             fileUrl = URLEncoder.encode(fileUrl, "iso-8859-1");39             System.out.println("编码后:" + fileUrl);40             return fileUrl;41         } catch (Exception e) {42             e.printStackTrace();43         }44         return "";45     }46 }
服务器端代码
1 <%@ page pageEncoding="UTF-8"%> 2  3  4  5 
6
7
8
9
10 七牛云存储练习11
12
16 18 19 20
21
22
23

七牛云存储+Google文件查看器 实现在线预览文档

24
25
26
27
28
29
30
31 32 33 34
前端代码

 

 

 

转载于:https://www.cnblogs.com/bingoogol/p/preview-word.html

你可能感兴趣的文章
SaltStack安装redis
查看>>
Python模块常用的几种安装方式
查看>>
AtCoder Regular Contest 060
查看>>
Docker - 基础讲义
查看>>
python学习之老男孩python全栈第九期_数据库day003知识点总结 —— MySQL数据库day3...
查看>>
uvm_reg_map——寄存器模型(八)
查看>>
Linux 安装 java
查看>>
计算机基础
查看>>
裁剪方法--layer.makesToBounds 和 clipsToBounds区别和联系
查看>>
qemu-img: Could not open old backing file... 分...
查看>>
leetcode509
查看>>
leetcode987
查看>>
[软件工程]在Ubuntu系统下配置GIT
查看>>
PhpStorm快捷键
查看>>
java IO流全面总结
查看>>
多线程学习-基础(十二)生产者消费者模型:wait(),sleep(),notify()实现
查看>>
最短路径 | 问题集合
查看>>
C# 基础 new 、override实现多台区别
查看>>
SQL Server 之 GROUP BY、GROUPING SETS、ROLLUP、CUBE
查看>>
数据库设计系列[05]多公司加入权限系统
查看>>