zoukankan      html  css  js  c++  java
  • koa中上传文件到阿里云oss实现点击在线预览和下载

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

    跳转一个新的页面,里面放一个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])
  • 相关阅读:
    移动MM首届手机软件设计及创意大赛决赛取得圆满成功
    Windows Phone 7 EKB系列文章发布
    EVC3/4项目升级到Visual Studio项目的一些建议
    Windows Phone SDK 7.1 RTM 发布
    Howto: 创建Windows Phone 7自定义控件
    风云再起,7迹由你WP7技术沙龙上海站第二次活动
    Windows Phone Dev Notes如何使用ConnectionSettingsTask 来启动连接设置页面
    【OneNote Mobile】 如何处理便签内容的格式?
    《101 Windows Phone 7 Apps》读书笔记PASSWORDS & SECRETS
    3年MVP路,一颗感恩的心
  • 原文地址:https://www.cnblogs.com/beileixinqing/p/9161486.html
Copyright © 2011-2022 走看看