您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關微信小程序如何實現(xiàn)上傳word、txt、Excel、PPT等文件功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
正文:
目前小程序沒有能實現(xiàn)此功能的 API 所以我這里通過使用 web-view 實現(xiàn);
實現(xiàn)流程:
1. 在小程序后臺配置業(yè)務域名
2. 在服務器寫一個html,實現(xiàn)表單上傳文件
3.后端php接收文件并存到一個服務器文件夾,把文件名存到數(shù)據(jù)庫以后檢索用
4.在微信小程序創(chuàng)建一個頁面,里面使用web-view達到上傳文件的目的;
效果圖:
具體實現(xiàn):
1. 在小程序后臺配置業(yè)務域名
2. 在服務器寫一個html,實現(xiàn)表單上傳文件
index.html文件
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" /> <meta charset="UTF-8"> <title>Title</title> <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.js"></script> </head> <body> <form id="form1" action="https://dwb.lynncain.cn/H5/up_file.php" target="frame1" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="button" value="上傳" onclick="upload()"> </form> <iframe name="frame1" frameborder="0" height="40"></iframe> <!-- 其實我們可以把iframe標簽隱藏掉 --> <script type="text/javascript"> function upload() { $("#form1").submit(); var t = setInterval(function() { //獲取iframe標簽里body元素里的文字。即服務器響應過來的"上傳成功"或"上傳失敗" var word = $("iframe[name='frame1']").contents().find("body").text(); if(word != "") { // alert(word); //彈窗提示是否上傳成功 // clearInterval(t); //清除定時器 } }, 1000); } </script> </body> </html>
3.后端php接收文件并存到一個服務器文件夾,把文件名存到數(shù)據(jù)庫以后檢索用
up_file.php 文件:
<?php header("Content-Type:text/html;charset=utf8"); header("Access-Control-Allow-Origin: *"); //解決跨域 header('Access-Control-Allow-Methods:POST');// 響應類型 header('Access-Control-Allow-Headers:*'); // 響應頭設置 $link=mysql_connect("localhost","root","root"); mysql_select_db("new_test", $link); //選擇數(shù)據(jù)庫 mysql_query("SET NAMES utf8");//解決中文亂碼問題 error_reporting(0); if ($_FILES["file"]["error"] > 0) { echo "錯誤: " . $_FILES["file"]["error"] . "<br />"; } else { $dlog["name"]=$_FILES["file"]["name"]; $dlogs=$dlog; //echo urldecode(json_encode($dlogs)); $name =$_FILES["file"]["name"]; echo '上傳成功!'; echo $name; //插入數(shù)據(jù)到數(shù)據(jù)庫 $strsql = "insert into name (fileName) values('$name')"; //mysql_query() 函數(shù)執(zhí)行一條 MySQL 查詢。SELECT,SHOW,EXPLAIN 或 DESCRIBE 都需要用這個函數(shù)執(zhí)行 $result = @mysql_query($strsql); // echo "文件名: " . $_FILES["file"]["name"] . "<br />"; // echo "類型: " . $_FILES["file"]["type"] . "<br />"; // echo "大小: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; } if (file_exists("upload/" . $_FILES["file"]["name"])) { // echo $_FILES["file"]["name"] . " 文件已經(jīng)存在. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); // echo "文件已經(jīng)被存儲到: " . "upload/" . $_FILES["file"]["name"]; } ?>
4.在微信小程序創(chuàng)建一個頁面,里面使用web-view達到上傳文件的目的;
web.wxml文件
<!--pages/web/web.wxml--> <web-view src='https://dwb.lynncain.cn/H5/'></web-view>
注:微信小程序web-view標簽使用如上,無需多余代碼。
關于“微信小程序如何實現(xiàn)上傳word、txt、Excel、PPT等文件功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。