微信小程序开发交流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处理流程相关推荐

  1. 微信小程序下载文件至本地,并打开文档

    微信小程序下载文件至本地,并打开文档 downloadfile(e){var url = e.currentTarget.dataset.url;//下载文件,生成临时地址wx.downloadFil ...

  2. 微信小程序下载文件和转发文件给好友总结

    这段时间公司让我负责小程序的一些功能开发,回想上次开发小程序还是在上一次,这次开发小程序主要实现的功能就是转发文件给好友和下载文件,总结一下这次遇到的各种问题和解决方法. 下载文件 首先正常下载 wx ...

  3. 微信小程序下载文件wx.saveFile

    //*注:wx.saveFile下载的文件只可以微信小程序内部访问,不可做外部访问 downloadFile: function(e) {wx.showLoading({title: '下载中...' ...

  4. 关于wx.downloadFile的URL 微信小程序下载文件 服务器http服务的部署

    作为一名学车辆的工科生,毫无计算机知识的情况下做微信小程序前后端的项目,玛德这个问题困扰了三天得以解决.下面总结一下,进行复盘. 一. 理解 首先要先理解这个URL,就是下载文件的路径.这个路径需要能 ...

  5. 微信小程序 - 下载文件到本地、打开文档

    前言 需求场景描述:接口获取到服务器的文件地址,然后在小程序中下载文件到本地手机上.根据文件格式,下载类型分为下面四种情况: 下载图片到本地 下载视频到本地 打开文档,支持格式:doc, xls, p ...

  6. 微信小程序下载文件并重命名,并在微信可以打开、保存并转发给好友

    在开发中,遇到一个需求,需要预览.下载并保存PDF文件,实现文件的重命名,可以转发给微信好友 开发代码如下 download() {// 判断文件目录是否存在, wx.env.USER_DATA_PA ...

  7. uniapp微信小程序下载文件,保存文件功能总结

    //通用下载文件方法 const download = (attachLink) => {let that = thisuni.downloadFile({url: attachLink , / ...

  8. 微信小程序-下载文件并打开/下载视频播放视频/下载音频文件-Android和IOS调试终版

    下载文件并预览: 调接口下载文件,接口返回的是.bin类型的临时文件,直接调用uniapp原生接口openDocument可能出现打不开的情况或者可能打开文件乱码异常,所以我们需要获取一下文件类型fi ...

  9. 微信小程序 下载文件到本地 (解决文件名乱码问题)

    function loadfile(data){let url = data.file_urllet fileName =data.title;wx.showLoading({title: '正在打开 ...

  10. 驾校分期-众筹项目java前后端分离项目vue(微信小程序+java前后端源码下载)

    可以idea直接打开,mysql数据库项目,前后端分离项目vue,分期可自动设置,自动换算金额 驾校分期-众筹项目java前后端分离项目vue(微信小程序+java前后端源码下载)

最新文章

  1. Java泛型进阶 - 如何取出泛型类型参数
  2. java adt怎么打开项目,如何在Eclipse中打开Android Studio项目?
  3. python【蓝桥杯vip练习题库】ALGO-69字符串逆序
  4. Kaggle上主要有两大方法:梯度提升机和深度学习
  5. Windows批处理(cmd/bat)常用命令
  6. matlab由x得到y,matlab 已知x、y值以及函数,求未知参数
  7. Vista上远程管理Hyper-V服务器
  8. RHCS图形界面建立GFS共享下
  9. 360安全浏览器极速模式怎么设置
  10. matlab结构体、数组和单元数组类型的创建
  11. jsp学习—虚拟主机
  12. signature=f81ed620b6d6e6cb4bbe5a4d79d445b8,Lubricating compositions
  13. 太阳直射点纬度计算公式_干货 | 正午太阳高度公式及其应用!
  14. Day20 网络编程
  15. qt websocket android,QT使用websocket进行长连接
  16. GreenPlum 大数据平台--运维(三)
  17. 试题 基础练习 字母图形
  18. Navicat使用指南(一)
  19. 半导体车间测量尘埃粒子浓度等级仪器解决方案
  20. mysql squid_Linux 实现 squid+mysql认证

热门文章

  1. linux work 账户管理,Homework Week-3 用户管理
  2. java thread 几个状态_Java 几种线程状态之间的相互关系
  3. php mysql显示到页面上_从数据库调出数据显示到页面 PHP+Mysql+Html(简单实例)
  4. c++编程求解二元二次方程组_二元一次方程组及其解法
  5. React躬行记(8)——样式
  6. uCOS-II的学习笔记(共九期)和例子(共六个)
  7. Matlab Robitic Toolbox学习笔记Day1
  8. ubuntu16.04下载opencv3.4
  9. async/await实现同步
  10. cudnn的安装 linux