微信小程序实现上传word、txt、Excel、PPT等文件功能

 更新时间:2019年05月23日 10:35:43   作者:a_靖  
这篇文章主要为大家详细介绍了微信小程序实现上传word、txt、Excel、PPT等文件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

正文:

目前小程序没有能实现此功能的 API 所以我这里通过使用 web-view 实现;

实现流程:

1. 在小程序后台配置业务域名

2. 在服务器写一个html,实现表单上传文件

3.后端php接收文件并存到一个服务器文件夹,把文件名存到数据库以后检索用

4.在微信小程序创建一个页面,里面使用web-view达到上传文件的目的;

效果图:

具体实现:

1. 在小程序后台配置业务域名

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标签使用如上,无需多余代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 用js实现轮播图效果

    用js实现轮播图效果

    这篇文章主要为大家详细介绍了用js实现轮播图,播放上一张,下一张,可选取第几张等效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 发表文章时自动保存到剪贴板

    发表文章时自动保存到剪贴板

    发表文章时自动保存到剪贴板...
    2006-10-10
  • JavaScript中数组slice和splice的对比小结

    JavaScript中数组slice和splice的对比小结

    相信对很多学习JavaScript语言的人来说,都会经常搞不清slice和splice这两个方法。它们虽然名称相似,但是功能却完全不同。所以这篇文章就给大家详细整理了关于JavaScript中数组slice和splice的对比,有需要的可以参考学习。
    2016-09-09
  • 用js替换除数字与逗号以外的所有字符的代码

    用js替换除数字与逗号以外的所有字符的代码

    用js实现的替换除数字与逗号以外的所有字符的代码,因为需要去除重复,这样的话就会有很多的逗号需要替换
    2014-06-06
  • Javascript中数组方法汇总(推荐)

    Javascript中数组方法汇总(推荐)

    这篇文章主要介绍了Javascript中数组方法汇总(推荐),需要的朋友可以参考下
    2015-04-04
  • JS实现多选框的操作

    JS实现多选框的操作

    这篇文章主要为大家详细介绍了JS实现多选框的操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • 浅谈Javascript嵌套函数及闭包

    浅谈Javascript嵌套函数及闭包

    这篇文章其实是要讲闭包的一些初级应用,但是为了将闭包,我们还是从嵌套函数开始说吧,纵使所有的JavaScript函数都可以说是闭包,但是只有当一个嵌套函数被导出到它所定义的作用域之外时,这种闭包才是有趣的。
    2010-11-11
  • js按指定格式显示日期时间的样式代码

    js按指定格式显示日期时间的样式代码

    按指定格式显示日期时间在开发与时间相关的应用时非常有用,接下来与大家分享下格式化显示日期时间的方法,感兴趣的朋友可以参考下哈
    2013-04-04
  • JavaScript中join()、splice()、slice()和split()函数用法示例

    JavaScript中join()、splice()、slice()和split()函数用法示例

    这篇文章主要介绍了JavaScript中join()、splice()、slice()和split()函数用法,结合实例形式较为详细的分析了join()、splice()、slice()和split()函数的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-08-08
  • 原生JS实现图片轮播效果

    原生JS实现图片轮播效果

    这篇文章主要为大家详细介绍了原生JS实现图片轮播效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12

最新评论