微信小程序实现上传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 相关文章推荐
DOM 高级编程
May 06 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
Dec 03 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
Jun 14 Javascript
Bootstrap框架实现广告轮播效果
Nov 28 Javascript
javascript简单写的判断电话号码实例
May 24 Javascript
Vue2几种常见开局方式详解
Sep 09 Javascript
vue中的inject学习教程
Apr 24 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
Nov 05 Javascript
通过GASP让vue实现动态效果实例代码详解
Nov 24 Javascript
vue大型项目之分模块运行/打包的实现
Sep 21 Javascript
Vue+Spring Boot简单用户登录(附Demo)
Nov 12 Javascript
实现AJAX异步调用和局部刷新的基本步骤
Mar 17 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 fsockopen解决办法 php实现多线程
2014/01/20 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
2007/01/29 Javascript
JavaScript极简入门教程(一):基础篇
2014/10/25 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
Python中os和shutil模块实用方法集锦
2014/05/13 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
对python中的pop函数和append函数详解
2018/05/04 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
Python重新加载模块的实现方法
2018/10/16 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
Python实现代码块儿折叠
2020/04/15 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
python中_del_还原数据的方法
2020/12/09 Python
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
英国羊皮鞋类领先品牌:Just Sheepskin
2019/12/12 全球购物
个人找工作求职简历的自我评价
2013/10/20 职场文书
会计系中文个人求职信
2013/12/24 职场文书
学生思想表现的评语
2014/01/30 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
办公自动化毕业生求职信
2014/03/09 职场文书
导游词之襄阳古城
2019/09/27 职场文书
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle