微信小程序实现上传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 相关文章推荐
10个新的最有前途的JavaScript框架
Mar 12 Javascript
js字符编码函数区别分析
Dec 28 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
Jan 09 Javascript
禁止页面刷新让F5快捷键及右键都无效
Jan 22 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
Apr 29 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
Jun 24 Javascript
AngularJs 指令详解及示例代码
Sep 01 Javascript
Easyui的组合框的取值与赋值
Oct 28 Javascript
微信小程序 动态传参实例详解
Apr 27 Javascript
详解jQuery获取特殊属性的值以及设置内容
Nov 14 jQuery
小程序云开发实现数据库异步操作同步化
May 18 Javascript
javascript中闭包closure的深入讲解
Mar 03 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
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
php的ddos攻击解决方法
2015/01/08 PHP
yii2实现根据时间搜索的方法
2016/05/25 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
2016/09/09 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
模仿百度三维地图的js数据分享
2011/05/12 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
2020/07/31 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
[15:15]教你分分钟做大人:狙击手
2014/10/30 DOTA
python爬虫爬取淘宝商品信息(selenum+phontomjs)
2018/02/24 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
成考报名单位证明范本
2014/01/16 职场文书
高二生物教学反思
2014/01/27 职场文书
函授药学自我鉴定
2014/02/07 职场文书
大学生村官考核材料
2014/05/23 职场文书
工作求职自荐信
2014/06/13 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
医生辞职信范文
2015/03/02 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android