微信小程序实现上传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向Action传中文参数出现乱码问题的解决方法
Dec 29 Javascript
Javascript核心读书有感之表达式和运算符
Feb 11 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
Sep 27 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
Nov 07 Javascript
JSON与XML的区别对比及案例应用
Nov 11 Javascript
ES6学习之变量的解构赋值
Feb 12 Javascript
js实现模糊匹配功能
Feb 15 Javascript
jQuery实现html双向绑定功能示例
Oct 09 jQuery
Node.js Express安装与使用教程
May 11 Javascript
关于RxJS Subject的学习笔记
Dec 05 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
Aug 16 Javascript
vue 动态创建组件的两种方法
Dec 31 Vue.js
微信小程序实现文件、图片上传功能
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实现数组中索引关联数据转换成json对象的方法
2015/07/08 PHP
PHP+MySQL实现的简单投票系统实例
2016/02/24 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
Javascript typeof 用法
2008/12/28 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
一个基于jquery的图片切换效果
2010/07/06 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
js中eval详解
2012/03/30 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
简单实现轮播图效果的实例
2016/07/15 Javascript
javascript self对象使用详解
2016/10/18 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
Vue中使用Sortable的示例代码
2018/04/07 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
Django开发中的日志输出的方法
2018/07/02 Python
python脚本监控Tomcat服务器的方法
2018/07/06 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
前端面试必备之html5的新特性
2017/09/05 HTML / CSS
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
美国在线精品家居网站:Burke Decor
2017/04/12 全球购物
印尼在线购买隐形眼镜网站:Lensza.co.id
2019/04/27 全球购物
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
编写strcpy函数
2014/06/24 面试题
个人简历自我鉴定
2013/10/11 职场文书
名人演讲稿范文
2013/12/28 职场文书
培训师岗位职责
2015/02/14 职场文书
Python中的 Set 与 dict
2022/03/13 Python
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers