微信小程序下载文件,后端PHP处理流程
微信小程序开发交流qq群 173683895
承接微信小程序开发。扫码加微信。
正文:
场景:微信小程序调用 wx.downloadFile() API 下载文件,PHP后端做处理并返回文件流程;
流程:
1.小程序展示需要下载的文件列表;
2.点击下载后请求PHP接口,携带一个参数为想要下载的文件名;
3.在PHP接收该参数,然后在文件夹查找是否有该文件;
4.找到文件后把该文件返回给小程序端;
5.小程序端保存后端返回的文件,点击打开文件,实现预览
小程序端代码:
wxml
<view>文件列表</view>
<view wx:for='{{search_store}}' wx:key='{{index}}'><view bindtap='dom' id='{{index}}'>文件名:{{item.fileName}} 点击下载</view>
</view>
js
dom: function (e) {var index = e.currentTarget.id;var data = this.data.search_store[index].fileNamevar that = this;wx.downloadFile({url: 'https://dwb.lynncain.cn/H5/dom.php?str=' + data, //下载路径携带 参数=文件名success: function (res) {console.log(res.tempFilePath)wx.saveFile({ //下载成功后保存tempFilePath: res.tempFilePath,success: function (res) {wx.showToast({title: '下载成功!',})wx.getSavedFileList({ //获取下载的文件列表保存到datasuccess: function (rrr) {console.log(rrr.fileList)that.setData({fileList: rrr.fileList})}})}})}})},
php
<?phpheader("Access-Control-Allow-Origin: *"); //解决跨域header('Access-Control-Allow-Methods:GET');// 响应类型 header('Access-Control-Allow-Headers:*'); // 响应头设置 $link=mysql_connect("localhost","root","root"); mysql_select_db("new_test", $link); //选择数据库mysql_query("SET NAMES utf8");//解决中文乱码问题error_reporting(0);$str = $_GET['str'];$file_path="upload/".$str;if (! file_exists ( $file_path )) { header('HTTP/1.1 404 NOT FOUND'); } else { //以只读和二进制模式打开文件 $file = fopen ( $file_path, "rb" ); //告诉浏览器这是一个文件流格式的文件 Header ( "Content-type: application/octet-stream" ); //请求范围的度量单位 Header ( "Accept-Ranges: bytes" ); //Content-Length是指定包含于请求或响应中数据的字节长度 Header ( "Accept-Length: " . filesize ( $file_path ) ); //用来告诉浏览器,文件是可以当做附件被下载,下载后的文件名称为$file_name该变量的值。Header ( "Content-Disposition: attachment; filename=" . $str ); //读取文件内容并直接输出到浏览器 echo fread ( $file, filesize ( $file_path ) ); fclose ( $file ); exit (); } ?>
微信小程序下载文件,后端PHP处理流程相关推荐
- 微信小程序下载文件至本地,并打开文档
微信小程序下载文件至本地,并打开文档 downloadfile(e){var url = e.currentTarget.dataset.url;//下载文件,生成临时地址wx.downloadFil ...
- 微信小程序下载文件和转发文件给好友总结
这段时间公司让我负责小程序的一些功能开发,回想上次开发小程序还是在上一次,这次开发小程序主要实现的功能就是转发文件给好友和下载文件,总结一下这次遇到的各种问题和解决方法. 下载文件 首先正常下载 wx ...
- 微信小程序下载文件wx.saveFile
//*注:wx.saveFile下载的文件只可以微信小程序内部访问,不可做外部访问 downloadFile: function(e) {wx.showLoading({title: '下载中...' ...
- 关于wx.downloadFile的URL 微信小程序下载文件 服务器http服务的部署
作为一名学车辆的工科生,毫无计算机知识的情况下做微信小程序前后端的项目,玛德这个问题困扰了三天得以解决.下面总结一下,进行复盘. 一. 理解 首先要先理解这个URL,就是下载文件的路径.这个路径需要能 ...
- 微信小程序 - 下载文件到本地、打开文档
前言 需求场景描述:接口获取到服务器的文件地址,然后在小程序中下载文件到本地手机上.根据文件格式,下载类型分为下面四种情况: 下载图片到本地 下载视频到本地 打开文档,支持格式:doc, xls, p ...
- 微信小程序下载文件并重命名,并在微信可以打开、保存并转发给好友
在开发中,遇到一个需求,需要预览.下载并保存PDF文件,实现文件的重命名,可以转发给微信好友 开发代码如下 download() {// 判断文件目录是否存在, wx.env.USER_DATA_PA ...
- uniapp微信小程序下载文件,保存文件功能总结
//通用下载文件方法 const download = (attachLink) => {let that = thisuni.downloadFile({url: attachLink , / ...
- 微信小程序-下载文件并打开/下载视频播放视频/下载音频文件-Android和IOS调试终版
下载文件并预览: 调接口下载文件,接口返回的是.bin类型的临时文件,直接调用uniapp原生接口openDocument可能出现打不开的情况或者可能打开文件乱码异常,所以我们需要获取一下文件类型fi ...
- 微信小程序 下载文件到本地 (解决文件名乱码问题)
function loadfile(data){let url = data.file_urllet fileName =data.title;wx.showLoading({title: '正在打开 ...
- 驾校分期-众筹项目java前后端分离项目vue(微信小程序+java前后端源码下载)
可以idea直接打开,mysql数据库项目,前后端分离项目vue,分期可自动设置,自动换算金额 驾校分期-众筹项目java前后端分离项目vue(微信小程序+java前后端源码下载)
最新文章
- Java泛型进阶 - 如何取出泛型类型参数
- java adt怎么打开项目,如何在Eclipse中打开Android Studio项目?
- python【蓝桥杯vip练习题库】ALGO-69字符串逆序
- Kaggle上主要有两大方法:梯度提升机和深度学习
- Windows批处理(cmd/bat)常用命令
- matlab由x得到y,matlab 已知x、y值以及函数,求未知参数
- Vista上远程管理Hyper-V服务器
- RHCS图形界面建立GFS共享下
- 360安全浏览器极速模式怎么设置
- matlab结构体、数组和单元数组类型的创建
- jsp学习—虚拟主机
- signature=f81ed620b6d6e6cb4bbe5a4d79d445b8,Lubricating compositions
- 太阳直射点纬度计算公式_干货 | 正午太阳高度公式及其应用!
- Day20 网络编程
- qt websocket android,QT使用websocket进行长连接
- GreenPlum 大数据平台--运维(三)
- 试题 基础练习 字母图形
- Navicat使用指南(一)
- 半导体车间测量尘埃粒子浓度等级仪器解决方案
- mysql squid_Linux 实现 squid+mysql认证
热门文章
- linux work 账户管理,Homework Week-3 用户管理
- java thread 几个状态_Java 几种线程状态之间的相互关系
- php mysql显示到页面上_从数据库调出数据显示到页面 PHP+Mysql+Html(简单实例)
- c++编程求解二元二次方程组_二元一次方程组及其解法
- React躬行记(8)——样式
- uCOS-II的学习笔记(共九期)和例子(共六个)
- Matlab Robitic Toolbox学习笔记Day1
- ubuntu16.04下载opencv3.4
- async/await实现同步
- cudnn的安装 linux