微信小程序实现上传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 相关文章推荐
Javascript学习笔记9 prototype封装继承
Jan 11 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
Apr 09 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
Dec 11 Javascript
jQuery不使用插件及swf实现无刷新文件上传
Dec 08 Javascript
JavaScript设计模式之建造者模式介绍
Dec 28 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
Sep 05 Javascript
JavaScript定时器setTimeout()和setInterval()详解
Aug 18 Javascript
在vue2.0中引用element-ui组件库的方法
Jun 21 Javascript
浅谈Vue组件及组件的注册方法
Aug 24 Javascript
Javascript如何实现扩充基本类型
Aug 26 Javascript
javascript实现数字时钟效果
Feb 06 Javascript
JS前端使用canvas实现扩展物体类和事件派发
Aug 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中的垃圾回收机制
2015/08/10 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
php命令行模式代码实例详解
2021/02/26 PHP
jquery sortable的拖动方法示例详解
2014/01/16 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
windows下vue-cli及webpack搭建安装环境
2017/04/25 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
Angular单元测试之事件触发的实现
2020/01/20 Javascript
Python字符遍历的艺术
2008/09/06 Python
Python求解平方根的方法
2015/03/11 Python
python2.7实现爬虫网页数据
2018/05/25 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
python自动生成model文件过程详解
2019/11/02 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
UI自动化定位常用实现方法代码示例
2020/10/27 Python
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
教师岗位职责
2013/11/17 职场文书
师范毕业生自我鉴定
2014/01/15 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
优秀团员自我评价
2015/03/10 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
python如何做代码性能分析
2021/04/26 Python
Python3 如何开启自带http服务
2021/05/18 Python
logback 实现给变量指定默认值
2021/08/30 Java/Android
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript