微软 Office Web Viewer 的使用
标题在浏览器阅读word,excel,pptx的offic文件,可以使用微软的开发接口
准备工作:需要有个后端接口,可以通过这个接口获取文件,我这里的接口读取的是本地的excel文件,是写死的,不需要指定文件名,你们可以写一个向接口发送指定文件名和路径的接口,读取想要的文件。
java接口代码如下:
这里有一点需要注意,就是函数的返回值要写成void,我刚开始写的是 HttpServletResponse,然后发现向接口发送请求的时候报如下的错:
No converter for XXX with preset Content-Type ‘application/vnd.ms-excel;charset=utf-8‘
接口:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpServletResponse;
import java.io.*;@Controller
@RequestMapping(value = "/file")
@ResponseBody
public class FileController {@RequestMapping("download")public void downloadFile(HttpServletResponse response){System.out.println("接收到了下载文件的请求");String path = "D:/ability.xlsx";try {// path是指欲下载的文件的路径。File file = new File(path);// 取得文件名。String filename = file.getName();// 取得文件的后缀名。String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();// 以流的形式下载文件。InputStream fis = new BufferedInputStream(new FileInputStream(path));byte[] buffer = new byte[fis.available()];fis.read(buffer);fis.close();// 清空responseresponse.reset();// 设置response的Headerresponse.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));response.addHeader("Content-Length", "" + file.length());OutputStream toClient = new BufferedOutputStream(response.getOutputStream());response.setContentType("application/octet-stream");toClient.write(buffer);toClient.flush();toClient.close();} catch (IOException ex) {ex.printStackTrace();}}}
然后在前端页面写入如下js代码
<div><el-button type="primary" @click="testfile">预览文件</el-button>
</div>const testfile = () => {let routeUrl = "http://域名/file/download"; //文件路径let url = encodeURIComponent(routeUrl);let officeUrl = "http://view.officeapps.live.com/op/view.aspx?src=" + url;window.open(officeUrl, "_target");
};
个人认为实现的原理是微软的服务器读取到我们的文件,然后将渲染结果发送给我们,所以routeUrl 中的地址必须是公网ip地址,否则无法使用。
使用效果如下:
微软 Office Web Viewer 的使用相关推荐
- office web viewer 报错问题
office web viewer 报错问题 最近接到了一个在页面中在线预览office文件功能的需求,在网上查阅了一下资料,发现一个较为简单的方式,直接使用微软提供的接口 office web vi ...
- php 文档在线查看器,Office Web Viewer 在线Office文档查看器API
您的网站或博客上是否有希望您的读者查看的 Office 文档(即使他们未安装 Office)?您是否更喜欢在下载文档之前查看文档?若要给您的受众提供更好的体验,请试试 Office Web Viewe ...
- office web viewer实现office文档在线预览
office web viewer实现office文档在线预览 office web viewer官网介绍 若要自行制作 URL,您可使用以下链接,其中 <文档位置> 是文档的 URL. ...
- java office web apps_Office Web Apps正式向全球免费开放!
泡泡网笔记本频道3月11日 经微软日前正式,旗下Office Web Apps已向全球用户免费开放,凡是Hotmail以及SkyDrive用户,皆可免费使用Web版Office 2010. 微软Off ...
- 在Ubuntu上用微软OFFICE安装官方Microsoft Office Web Apps deb
在Ubuntu上要用微软OFFICE?去安装官方的Web应用吧 https://linux.cn/article-3826-1.html 译者: LCTT cereuz | 2014-09-15 14 ...
- 在线文档预览方案-office web apps
原文:在线文档预览方案-office web apps 最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现 ...
- [转载]在线文档预览方案-Office Web Apps
最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...
- .Net Core集成Office Web Apps(一)
最近开始学习.Net Core,并使用Visual Studio Code工具来开发.感觉开发起来特别的方便,但是有个头疼的地方:许多的类库被修改了,一时半会儿还熟悉不了,需要查阅官方API... M ...
- Office Web App2013 在线查看PDF文件
经常会有客户问,在SharePoint中,如何在浏览器中查看与编辑文档,通常给出的解决方案是集成Office Web App. 而在实际应用过程中,客户通常会要求实现PDF文件在线查看,对于PDF文件 ...
最新文章
- 活动推荐 | 百千万人才工程创新大讲堂开启报名
- 8-14-Exercise
- html全局布局 vue_基于Vue+Element的电商后台管理系统
- 设计模式(十九)—— 备忘录模式
- ASP.NET会员注册登录模块(MD5加密,Parameters防止SQL注入,判断是否注册)
- 接触的第二个引擎 scaleform
- 【C语言笔记结构体】
- 【工具】JAVA 在单元读取文件并比较
- 分享一个热血合击脚本辅助工具(以及随机数生成器源码)
- 怀旧服服务器一般什么时候维护,魔兽世界怀旧服9月16日重启维护结束时间 9.16怀旧服登录不了游戏解决方法_蚕豆网新闻...
- 了解云桌面,看这一篇文章就够了
- matlab里逻辑符号,下列符号中不属于MATLAB逻辑操作符的是()
- STM32F103ZE+SHT30检测环境温度与湿度(IIC模拟时序)
- emucheat,emucheat下载
- 三菱Q程序,主站Q06UDE+QD75P4定位模块
- [电动智能汽车-4]:原理 - 高压电源系统与互锁系统
- MAC:外接其他接盘设置f1——f12功能键位
- 基于51单片机液位检测与报警
- 声音编辑软件----CoolEdit
- 高压电容器介绍(结构,功能,用途和参数)
热门文章
- F:大疆M300PSDKv2.1.0通过树莓派4B向pilot传输图片与视频。(只运行示例程序)
- 写代码太累,找一款低代码开发平台吧
- 为什么Internet选择分组交换而不是电路交换_电路交换(circuit switching)
- java弹球游戏代码_疯狂java实战演义 弹球游戏代码
- HTTPS 的原理与三次握手
- python cls方法_关于类方法中的cls
- 电脑照片删除了怎么恢复回来
- python在哪里写编程_Python编程入门介绍
- 解读 vue-cli 脚手架(一):npm run dev的背后
- 什么是CRAT治疗?