微信小程序实现上传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 相关文章推荐
免费空间广告万能消除代码
Sep 04 Javascript
JavaScript 设计模式之组合模式解析
Apr 09 Javascript
更优雅的事件触发兼容
Oct 24 Javascript
纯js简单日历实现代码
Oct 05 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
Nov 18 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
Feb 14 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
Jun 07 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
Aug 11 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
Sep 01 Javascript
JavaScript array常用方法代码实例详解
Sep 02 Javascript
vue组件是如何解析及渲染的?
Jan 13 Vue.js
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 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下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
浅谈php自定义错误日志
2015/02/13 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
对vue下点击事件传参和不传参的区别详解
2018/09/15 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
[00:20]TI9观赛名额抽取Ⅱ
2019/07/24 DOTA
Python 模拟购物车的实例讲解
2017/09/11 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
Django中Middleware中的函数详解
2019/07/18 Python
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
美国时装品牌:Nautica(诺帝卡)
2016/08/28 全球购物
怎么写自荐书范文
2014/02/12 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
大学生支教感言
2015/08/01 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
简历中的自我评价应该这样写!
2019/07/12 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
排查MySQL生产环境索引没有效果
2022/04/11 MySQL