分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

koa中上传文件到阿里云oss实现点击在线预览和下载

发布时间:2023-09-06 01:59责任编辑:沈小雨关键词:暂无标签

比较好的在线预览的方法:

跳转一个新的页面,里面放一个iframe标签,或者object标签

<iframe src="xxx"></iframe>
<object data="xxx"></object>

但是这两个标签也有限制,有些可以直接打开预览,有些则直接下载,具体总结如下:

object:
ppt不支持预览,直接下载
doc不支持预览,直接下载
txt不支持预览,直接下载
pdf支持打开预览

图片支持预览,图片放大

iframe :
txt、图片、pdf可直接打开预览
ppt不支持预览,直接下载
xls不支持预览,直接下载
doc不支持预览,直接下载

所以关于预览的功能实现:可以引用 microsoft的office自带的浏览器预览功能。

这个功能目前支持ppt/doc/xls 、docx /pptx/xlsx

不支持csv/图片/txt/pdf

let fileext=(result.split("/")[result.split("/").length-1]).split(".")[1];let preUrl=‘‘; ?????????if(fileext==="doc"||fileext===‘ppt‘||fileext===‘xls‘||fileext==="docx"||fileext===‘pptx‘||fileext===‘xlsx‘){ ??????????????????????preUrl="https://view.officeapps.live.com/op/view.aspx?src="+encodeURIComponent(result)}else{ ????????preUrl=result }$(".fileName a:first-child").attr("href","/pre?path="+preUrl);

这样最终使用的时候,当后缀为ppt/doc/xls 、docx /pptx/xlsx这些的时候直接跳转到office预览的链接,在src后面加文件url就可以,

office预览链接:

https://view.officeapps.live.com/op/view.aspx?src="+encodeURIComponent(result) //后面加的是要跳转的链接

其他格式的使用iframe直接打开即可。

关于下载的问题,目前没有很好的解决办法,a标签的download属性经过测试只支持路径为相对路径的,而不支持直接放一个http://这样的url的。如果大家有好的办法,希望大家多多交流!

koa2中可以更改头部让链接变为直接下载的,但是不能更改要跳转的链接,只能是自己实现的路由,并且如果是跳转到自己的路由中,写iframe标签,iframe链接自己要下载的链接,下载下来的其实是包括ifram标签的所有代码而已。不能直接打开文件。

修改头部方法如下:

ctx.type = ‘application/octet-stream‘ctx.set(‘Content-Disposition‘,‘attachment;filename=‘+ctx.request.query.path.split(‘/‘)[ctx.request.query.path.split(‘/‘).length-1])

koa中上传文件到阿里云oss实现点击在线预览和下载

原文地址:https://www.cnblogs.com/beileixinqing/p/9161486.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved