首页 > 代码库 > 微软office web apps 服务器搭建之在线文档预览(二)

微软office web apps 服务器搭建之在线文档预览(二)

上一篇文章已经介绍了整个安装过程了。只要在浏览器中输入文档转换server的ip,会自动跳转,出现如下页面。

 

 

那么就可以实现本地文档预览了,你可以试试。(注意;是本地哦,路径不要写错,类似“\\file\share”。如果不能预览,那么还要注意文档的权限哦,不多说。)

 

看到这个,就算完成80%以上的工作了,那么现在只需要集成到自己的项目中。

以下也主要是参考:http://www.cnblogs.com/poissonnotes/p/3277280.html 

这篇文章也是超级经典。(上篇安装的也是参照这个作者的,文章很经典)

我也不知羞耻,重新用php炒一下剩饭。

 

1、主要实现wopi协议(http://msdn.microsoft.com/en-us/library/hh622722(v=office.12).aspx 参看WOPI协议,装下13,可以下载下来看看)

WOPI通讯主要实现两个服务: 
1)、一个是CheckFileInfo服务 
2)、一个是GetFile服务

2、创建服务

1)、首先创建CheckFileInfo服务 
我们先确定这个服务的路由地址 
设置为:HTTP://server/<...>/wopi*/files/?access_token=

注意:这里没有验证access_token,请自行验证。很多同学问access_token怎么来的,这个自己设置就行,不是必须的。

代码实现如下,主要是返回一个json对象的文件信息。 

在浏览器中输入:http://localhost/wopihost/wopi/files/test.docx(项目中需要存在该test.docx文件),返回如下数据,则表示成功 

 

2)、再来制作GetFile服务

我们先确定这个服务的路由地址 
设置为:HTTP://server/<...>/wopi*/files//contents?access_token=

代码如下:GetFile服务主要是返回文件的数据流。

 

3)、验证服务

http://192.168.1.21/hosting/discovery 
通过以上链接返回的信息,可以知道不同类型的文档访问的链接。

在浏览器输入以下链接:http://192.168.1.21/wv/wordviewerframe.aspx?WOPISrc=http://www.mamicode.com/http%3A%2F%2F192.168.1.102%2Fwopihost%2Fwopi%2Ffiles%2Ftest.docx
(注意test文档必须存在,路径正确哦)

其中:192.168.1.21是office web apps server,192.168.1.102是实现wopi服务的server

如果出现如下,则表示成功。 

 

注意:如果没有成功,不要灰心,可以先调试excel,因为excel没有验证SHA256算法,如果excel成功了,其他类型文档没有成功,那么说明SHA256算法实现不对。

 

附上我的wopihost开源实现,仅供参考:https://github.com/cisiqo/WopiHost (最近又抽筋了,访问比较慢)

 

另外再附上公司使用这套方案的转换页面: 第一个使用了iframe,第二个正常访问的

 

 

 

微软office web apps 服务器搭建之在线文档预览(二)