關於微信小程式上傳word、txt、Excel、PPT等檔案的詳解

jacklove
發布: 2018-06-11 17:34:28
原創
12895 人瀏覽過

目前小程式沒有能實現此功能的API 所以我這裡透過使用web-view 實作;

實作流程:

1. 在小程式後台配置業務網域

2. 在伺服器寫一個html,實作表單上傳檔案

3.後端php接收檔案並存到一個伺服器資料夾,把檔案名稱存到資料庫以後檢索用

4.在微信小程式建立一個頁面,裡面使用web-view達到上傳檔案的目的;

效果圖:

##具體實作:

1. 在小程式後台設定業務網域


網址: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标签隐藏掉 -->
		<script type="text/javascript">
			function upload() {
				$("#form1").submit();
				var t = setInterval(function() {
					//获取iframe标签里body元素里的文字。即服务器响应过来的"上传成功"或"上传失败"
					var word = $("iframe[name=&#39;frame1&#39;]").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(&#39;Access-Control-Allow-Methods:POST&#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);
	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 &#39;上传成功!&#39;;
		echo $name;
			//插入数据到数据库 
			$strsql = "insert into name (fileName) values(&#39;$name&#39;)";
			//mysql_query() 函数执行一条 MySQL 查询。SELECT,SHOW,EXPLAIN 或 DESCRIBE 都需要用这个函数执行
			$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"] . " 文件已经存在. ";  
	    }  
	else  
	    {  
	      move_uploaded_file($_FILES["file"]["tmp_name"],  
	      "upload/" . $_FILES["file"]["name"]);  
//	      echo "文件已经被存储到: " . "upload/" . $_FILES["file"]["name"];  
	    }   
?>
登入後複製

4.在微信小程式建立一個頁面,裡面使用web-view達到上傳檔案的目的;

web.wxml檔案

<!--pages/web/web.wxml-->
 <web-view src=&#39;https://dwb.lynncain.cn/H5/&#39;></web-view>
登入後複製

註:微信小程式web-view標籤使用如上,無需多餘程式碼。

本文詳解了關於微信小程式上傳word、txt、Excel、PPT等檔案的內容,更多相關內容請關注php中文網。

相關推薦:

關於冒泡,二分法插入,快速排序演算法的介紹

##解說php 支援斷點續傳的檔案下載類別的相關內容


如何透過php 過濾html標記屬性類別

#

以上是關於微信小程式上傳word、txt、Excel、PPT等檔案的詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板