目前小程式?jīng)]有能實現(xiàn)此功能的API 所以我這裡透過使用web-view 實作;
實作流程:
1. 在小程式後臺配置業(yè)務(wù)網(wǎng)域
2. 在伺服器寫一個html,實作表單上傳檔案
3.後端php接收檔案並存到一個伺服器資料夾,把檔案名稱存到資料庫以後檢索用
4.在微信小程式建立一個頁面,裡面使用web-view達(dá)到上傳檔案的目的;
效果圖:

##具體實作:
1. 在小程式後臺設(shè)定業(yè)務(wù)網(wǎng)域
網(wǎng)址:https://mp.weixin.qq.com/wxopen/appdatacount

2. 在伺服器寫一個html,實作表單上傳檔案
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標(biāo)簽隱藏掉 -->
<script type="text/javascript">
function upload() {
$("#form1").submit();
var t = setInterval(function() {
//獲取iframe標(biāo)簽里body元素里的文字。即服務(wù)器響應(yīng)過來的"上傳成功"或"上傳失敗"
var word = $("iframe[name='frame1']").contents().find("body").text();
if(word != "") {
// alert(word); //彈窗提示是否上傳成功
// clearInterval(t); //清除定時器
}
}, 1000);
}
</script>
</body>
</html>
3.後端php接收檔案並存到一個伺服器資料夾,把檔案名稱存到資料庫以後檢索用
up_file.php 檔案:
<?php
header("Content-Type:text/html;charset=utf8");
header("Access-Control-Allow-Origin: *"); //解決跨域
header('Access-Control-Allow-Methods:POST');// 響應(yīng)類型
header('Access-Control-Allow-Headers:*'); // 響應(yīng)頭設(shè)置
$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.在微信小程式建立一個頁面,裡面使用web-view達(dá)到上傳檔案的目的;
web.wxml檔案
<!--pages/web/web.wxml-->
<web-view src='https://dwb.lynncain.cn/H5/'></web-view>
註:微信小程式web-view標(biāo)籤使用如上,無需多餘程式碼。
本文詳解了關(guān)於微信小程式上傳word、txt、Excel、PPT等檔案的內(nèi)容,更多相關(guān)內(nèi)容請關(guān)注php中文網(wǎng)。
相關(guān)推薦:
關(guān)於冒泡,二分法插入,快速排序演算法的介紹
##解說php 支援?dāng)帱c續(xù)傳的檔案下載類別的相關(guān)內(nèi)容
如何透過php 過濾html標(biāo)記屬性類別
#
以上是關(guān)於微信小程式上傳word、txt、Excel、PPT等檔案的詳解的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!