微信小程序实现上传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 相关文章推荐
js之WEB开发调试利器:Firebug 下载
Jan 13 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
May 18 Javascript
JS中常用的输出方式(五种)
Jun 12 Javascript
jquery.cookie.js的介绍与使用方法
Feb 09 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
May 10 Javascript
JS 调试中常见的报错问题解决方法
May 20 Javascript
JavaScript基本语法_动力节点Java学院整理
Jun 26 Javascript
js图片放大镜实例讲解(必看篇)
Jul 17 Javascript
详解Js中的模块化是如何实现的
Oct 18 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
vue自定义指令和动态路由实现权限控制
Aug 28 Javascript
react使用antd表单赋值,用于修改弹框的操作
Oct 29 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函数解决SQL injection
2006/12/09 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
JQuery从头学起第二讲
2010/07/04 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
2016/03/31 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
详解JavaScript 事件流
2020/09/02 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
Python切片知识解析
2016/03/06 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
2018/05/04 Python
Python工厂函数用法实例分析
2018/05/14 Python
Python使用logging模块实现打印log到指定文件的方法
2018/09/05 Python
华为2019校招笔试题之处理字符串(python版)
2019/06/25 Python
Python必须了解的35个关键词
2020/07/16 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
飞利浦法国官网:Philips法国
2019/07/10 全球购物
医药专业应届毕业生求职信范文
2014/01/01 职场文书
小学庆六一活动总结
2014/08/28 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
mysql 带多个条件的查询方式
2021/06/05 MySQL
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL