微信小程序实现word,excell等文件下载

  • 微信小程序
    • 复制文件到剪切板
    • fastfdfs
    • 后台编写
    • 小程序页面编写
    • 小程序js编写
    • 运行结果

微信小程序

设计了一个微信小程序,要实现word、excell、ppt、pdf等文件下载的功能并且能通过手机自带的文件查看器打开。但是查阅微信小程序提供api,发现能找到一个明显的api. wx.downloadFile() 仔细阅读该api后,发现只能实现保存临时文件,在小程序本次启动期间可以正常使用。这个可不能满足我的需求。仔细查询api后,发现有一个api,wx.saveFile()。仔细阅读该api的文档以后,发现只是将临时文件保存到长期缓存中,只能在微信小程序中能访问到,不能用手机自带的文件查看器查看到,看到这里,只想说一句,卒。仔细翻看微信的api,发信web-view组件可以通过模拟浏览器,看情况可以通过浏览器下载。但是,考虑到到可以使用模拟浏览器,那为何不用真的浏览器叻,可以借助手机浏览器直接下载文件啊。这样,整个思路就清晰了,从微信小程序获取文件路,再粘贴路径到浏览器地址栏通过浏览器实现文件下载。

复制文件到剪切板

查阅微信的api,发现有一个api, wx.setClipboardData(),该api可实现设置内容到剪切板。

fastfdfs

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

这里我使用fastfdfs进行文件管理,可以通过文件路径进行文件高速下载、便捷的下载,而且不需要写多余的代码,十分方便。

后台编写

后台程序我是用的java编写。只需要从数据库获取文件路径就好,代码过于简单,这里省略。

小程序页面编写

<!--pages/Filedownload/index.wxml-->
<text>点击下面的复制链接 ,再打开浏览器粘贴地址即可下载:</text>
<view bindtap='download' class='url'>复制链接</view>

小程序js编写

 // pages/Filedownload/index.js
Page({/*** 页面的初始数据*/data: {url:'',//文件路径},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {var url=options.url;//从其他页面传过来文件路径this.setData({url:url,})console.log("接收的路径为");console.log(this.data.url);},//复制文件路径到剪切板download:function(){var url=this.data.url;wx.setClipboardData({data: url,success: function (res) {// self.setData({copyTip:true}),wx.showModal({title: '提示',content: '复制成功',success: function (res) {if (res.confirm) {console.log('确定')} else if (res.cancel) {console.log('取消')}}})}})},})

运行结果


下载文件的截图不好截取,这里就省略。

微信小程序实现word,excell等文件下载相关推荐

  1. 微信小程序下载word,excel,doc,pdf并打开预览并可以转发收藏

    //查看并下载 contract() {wx.downloadFile({//下载url: url,//服务器上面的地址filePath: wx.env.USER_DATA_PATH + '/test ...

  2. 微信小程序开发(后端Java)

    微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Shee ...

  3. 微信小程序上传文件组件

    微信小程序上传文件 一.说明 该拍照组件带有微信授权相机功能,会结合后端接口,将上传的图片以数组集合的形式传值给父级页面. 注意:组件适用于,单独上传图片,不携带参数,结合后端接口返回路径之后,再调用 ...

  4. 微信小程序实现客服功能、word文件下载到本地

    微信小程序项目开发中,遇到联系客服和word文档打印(下载)功能,记录一下,以便查阅. 一.客服功能 官方文档 1.在小程序中加入客服消息按钮: 使用button按钮,设置open-type='con ...

  5. 微信小程序导出zip、excel、word、png到手机

    1.需要使用的方法:wx.request(): //发请求调用接口wx.showModal()://打开弹框进行展示wx.setClipboardData()://复制文本的数据wx.download ...

  6. 微信小程序预览 word、excel、ppt、pdf 等文件

    目录 微信小程序预览 word.excel.ppt.pdf 等文件 预览效果 前言 注意点 实现代码 微信小程序预览 word.excel.ppt.pdf 等文件 预览效果 前言 微信官方提供了相关的 ...

  7. 关于微信小程序踩坑之 下载Word失败 手机vConsole中提示:downloadfile:fail url not in domain list

    下载文件失败提示:downloadfile:fail url not in domain list 1.看响应数据是否成功  微信开发工具 -->Network 2.上传时一定要配置  详情-& ...

  8. 【微信小程序】上传Word、txt、Excel、PPT等文件

    实现流程: 在小程序后台配置业务域名 在服务器写一个html,实现表单上传文件 后端php接收文件并存到一个服务器文件夹,把文件名存到数据库以后检索用 在微信小程序创建一个页面,里面使用web-vie ...

  9. 微信小程序文件下载及在线打开指定文档,解压Zip格式压缩包

    1.微信小程序文件下载 wx.downloadFile({url:'https://www.baidu.com/test', //(仅为示例接口,注:这里的域名需要到小程序公众平台添加)filePat ...

  10. 微信小程序云开发将数据库数据生成word文件

    演示如何通过云函数把数据存入word模板中,源代码见cloudfunctions/genarateDocument/index.js,整个过程分为以下几个过程:(1) 创建云函数,并安装doctemp ...

最新文章

  1. 开发脚本自动部署及监控
  2. 985高校博士情侣致谢:我俩每月补贴600元,在一线城市生活5年
  3. 中国最大的python社区-python求最大数
  4. zookeeper 运维
  5. Linux Shell之一 Shell简介
  6. 时间 '2018-08-06T10:00:00.000Z' 格式转化为本地时间(转)
  7. 关于vector的size()的使用问题
  8. 10个管理工作时间的小技巧
  9. 火力发电厂与变电站设计防火标准_真题—火力发电厂1
  10. 当FORM的ENCTYPE=quot;multipart/form-dataquot; 时request.getParameter()获取不到
  11. labelImg(pyqt4 )出现错误(segmentation fault(core dumped) )
  12. .NET源码 生产制造业通用管理ERP系统 财务生产管理网站 源码
  13. html怎么在搜索框中加图片,html – 如何在搜索框中添加图标
  14. css中border属性设置
  15. 采访了 10 位身价过亿的 CEO,我终于看懂了有钱人的“奋斗”
  16. 常用颜色表以及中国传统颜色名录(附宏定义)
  17. infer的用法_infer使用的浅谈简析
  18. Java 比较图片_Java图片比对
  19. linux操作系统安全防护
  20. python:keyword --- 检验Python关键字

热门文章

  1. bochs运行xp_bochs xp镜像完整免费版
  2. 趣店PHP面经_腾讯助理PHP开发工程师外包岗面经
  3. 研发项目该如何管理?
  4. [语音处理] 声谱图(spectrogram)FBank(Mel_spectrogram)MFCC(Mel倒谱)到底用哪个作为NN输入?
  5. 寒霜3引擎再造经典极品飞车18
  6. ios逆向工具theos安装和使用tweak替换和卸载
  7. python接入支付宝 40004 invalid-signature 错误原因: 验签出错
  8. 电工与电子技术实验——单管交流电压放大电路
  9. php-ftm,关于KEA128中FTM0/1的问题
  10. map取固定key_Map获取key值