Maison >développement back-end >tutoriel php >Comment télécharger des fichiers depuis l'applet WeChat via PHP back-end
Scénario : L'applet WeChat appelle l'API wx.downloadFile() pour télécharger un fichier, et le backend PHP effectue le traitement et renvoie le processus de fichier
Processus :
1. liste des fichiers à télécharger ;
2. Cliquez sur télécharger et demandez l'interface PHP, portant un paramètre pour le nom du fichier que vous souhaitez télécharger ;
3. Recevez le paramètre en PHP ; le dossier pour voir si le fichier existe ;
4. Trouvez le fichier et renvoyez le fichier au mini programme
5. Le mini programme enregistre le fichier renvoyé par le backend, cliquez pour ouvrir le fichier pour prévisualiser
. 🎜> Code du mini programme :
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].fileName var 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({ //获取下载的文件列表保存到data success: function (rrr) { console.log(rrr.fileList) that.setData({ fileList: rrr.fileList }) } }) } }) } }) },
php
<?php header("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 (); } ?>
Cet article présente comment télécharger des fichiers à partir de l'applet WeChat et traitez-les via PHP back-end Pour plus de connaissances connexes, veuillez prêter attention au site Web chinois php.
Recommandations associées :
Introduction au bouillonnement, insertion de dichotomie, algorithme de tri rapide
Comment filtrer la classe d'attribut de balise html via php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!