微信小程序实现上传word、txt、Excel、PPT等文件功能


Posted in Javascript onMay 23, 2019

正文:

目前小程序没有能实现此功能的 API 所以我这里通过使用 web-view 实现;

实现流程:

1. 在小程序后台配置业务域名

2. 在服务器写一个html,实现表单上传文件

3.后端php接收文件并存到一个服务器文件夹,把文件名存到数据库以后检索用

4.在微信小程序创建一个页面,里面使用web-view达到上传文件的目的;

效果图:

微信小程序实现上传word、txt、Excel、PPT等文件功能

具体实现:

1. 在小程序后台配置业务域名

微信小程序实现上传word、txt、Excel、PPT等文件功能

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='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');// 响应类型 
 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);
 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;
 //插入数据到数据库 
 $strsql = "insert into name (fileName) values('$name')";
 //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='https://dwb.lynncain.cn/H5/'></web-view>

注:微信小程序web-view标签使用如上,无需多余代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
Nov 18 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
Apr 16 Javascript
js实现左侧网页tab滑动门效果代码
Sep 06 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
Jul 01 Javascript
利用Angularjs和Bootstrap前端开发案例实战
Aug 27 Javascript
JS冒泡事件与事件捕获实例详解
Nov 25 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
Jul 24 Javascript
Vue.directive 自定义指令的问题小结
Mar 04 Javascript
使用layui 渲染table数据表格的实例代码
Aug 19 Javascript
layui监听select变化,以及设置radio选中的方法
Sep 24 Javascript
javascript设计模式之装饰者模式
Jan 30 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
Jun 05 Javascript
微信小程序实现文件、图片上传功能
Aug 18 #Javascript
微信小程序实现图片上传
May 23 #Javascript
WebSocket的简单介绍及应用
May 23 #Javascript
webpack4 SplitChunks实现代码分隔详解
May 23 #Javascript
微信小程序实现的picker多级联动功能示例
May 23 #Javascript
js console.log打印对象时属性缺失的解决方法
May 23 #Javascript
Node.js+ELK日志规范的实现
May 23 #Javascript
You might like
PHP聊天室技术
2006/10/09 PHP
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
js中typeof的用法汇总
2013/12/12 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
js检测浏览器版本、核心、是否移动端示例
2014/04/24 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
2021/03/01 Vue.js
听歌识曲--用python实现一个音乐检索器的功能
2016/11/15 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
品学兼优的大学生自我评价
2013/09/20 职场文书
银行学习十八大感想
2014/01/11 职场文书
2014年实验室工作总结
2014/12/03 职场文书
实习推荐信格式模板
2015/03/27 职场文书
行政人事主管岗位职责
2015/04/11 职场文书
基督教追悼会答谢词
2015/09/29 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
MySQL中的布尔值,怎么存储false或true
2021/06/04 MySQL