Heim  >  Artikel  >  Backend-Entwicklung  >  So laden Sie Dateien vom WeChat-Applet über das Back-End-PHP herunter

So laden Sie Dateien vom WeChat-Applet über das Back-End-PHP herunter

jacklove
jackloveOriginal
2018-06-11 17:32:093274Durchsuche


Szenario: Das WeChat-Applet ruft die wx.downloadFile()-API auf, um eine Datei herunterzuladen, und das PHP-Backend führt die Verarbeitung durch und gibt den Dateiprozess zurück:
1 Liste der Dateien, die heruntergeladen werden müssen;
2. Klicken Sie auf „Herunterladen“ und fordern Sie die PHP-Schnittstelle an, die einen Parameter für den Namen der Datei enthält, die Sie herunterladen möchten.
3 den Ordner, um zu sehen, ob die Datei vorhanden ist;
4. Suchen Sie die Datei und geben Sie sie an das Miniprogramm zurück.
5. Das Miniprogramm speichert die Datei, um sie in der Vorschau anzuzeigen 🎜> Mini-Programmcode:
wxml

<view>文件列表</view>
<view wx:for=&#39;{{search_store}}&#39; wx:key=&#39;{{index}}&#39;>
  <view bindtap=&#39;dom&#39; id=&#39;{{index}}&#39;>文件名:{{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: &#39;https://dwb.lynncain.cn/H5/dom.php?str=&#39; + data, //下载路径携带 参数=文件名
      success: function (res) {
        console.log(res.tempFilePath)
        wx.saveFile({ //下载成功后保存
          tempFilePath: res.tempFilePath,
          success: function (res) {
           wx.showToast({
             title: &#39;下载成功!&#39;,
           })
           wx.getSavedFileList({ //获取下载的文件列表保存到data
             success: function (rrr) {
               console.log(rrr.fileList)
               that.setData({
                 fileList: rrr.fileList
               })
             }
           })
          }
        })
      }
    })
  },

php

<?php
    header("Access-Control-Allow-Origin: *"); //解决跨域
    header(&#39;Access-Control-Allow-Methods:GET&#39;);// 响应类型  
    header(&#39;Access-Control-Allow-Headers:*&#39;); // 响应头设置 
    $link=mysql_connect("localhost","root","root"); 
    mysql_select_db("new_test", $link); //选择数据库
    mysql_query("SET NAMES utf8");//解决中文乱码问题
error_reporting(0);
$str = $_GET[&#39;str&#39;];
$file_path="upload/".$str;
if (! file_exists ( $file_path )) {    
header(&#39;HTTP/1.1 404 NOT FOUND&#39;);  
} 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 ();    
}    
?>

In diesem Artikel wird erläutert, wie Sie Dateien vom WeChat-Applet herunterladen und über das Backend verarbeiten Weitere Informationen zu PHP finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Einführung in Bubbling, Dichotomie-Einfügung, Schnellsortierungsalgorithmus


Erklärung der PHP-Unterstützung für das Brechen von Verwandten Inhalt der Datei-Download-Klasse, die auf den Lebenslauf klickt


So filtern Sie die HTML-Tag-Attributklasse über PHP

Das obige ist der detaillierte Inhalt vonSo laden Sie Dateien vom WeChat-Applet über das Back-End-PHP herunter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn