微信小程序
设计了一个微信小程序,要实现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