微信小程序实现上传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 相关文章推荐
新页面打开实际尺寸的图片
Aug 25 Javascript
js 静态动态成员 and 信息的封装和隐藏
May 29 Javascript
javascript 另一种图片滚动切换效果思路
Apr 20 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
Nov 25 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
Mar 01 Javascript
js+html5实现可在手机上玩的拼图游戏
Jul 17 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
jquery与ajax获取特殊字符实例详解
Jan 08 Javascript
vue-cli + sass 的正确打开方式图文详解
Oct 27 Javascript
使用typescript开发angular模块并发布npm包
Apr 19 Javascript
vue 组件内获取actions的response方式
Nov 08 Javascript
JS基础之逻辑结构与循环操作示例
Jan 19 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计算整个mysql数据库大小的方法
2015/06/19 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
判断对象是否Window的实现代码
2012/01/10 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
详解AngularJS中的表格使用
2015/06/16 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
angularJS Provider、factory、service详解及实例代码
2016/09/21 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
JS实现li标签的删除
2019/04/12 Javascript
Python AES加密模块用法分析
2017/05/22 Python
Python实现生成随机日期字符串的方法示例
2017/12/25 Python
手把手教你用python抢票回家过年(代码简单)
2018/01/21 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
智利最大的网上商店:Linio智利
2016/11/24 全球购物
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
土地转让协议书
2014/04/15 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
入党政审材料范文
2014/12/24 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis