目前小程序没有可以实现这个功能的API,所以我在这里用web-view实现;
实施流程:
1.在小程序后台配置业务域名。
2.在服务器上写一个html来上传表单中的文件。
3.后端php接收文件并将其存储在服务器文件夹中,并将文件名存储在数据库中以供以后检索。
4.在微信小程序中创建页面,使用web-view上传文件;
效果图:
具体实现:
1.在小程序后台配置业务域名。
地址:https://mp.weixin.qq.com/wxopen/appdatacount
2.在服务器上写一个html来上传表单中的文件。
Index.html文件
& lt!DOCTYPE html & gt& lthtml & gt& lthead & gt& ltmeta name = & quot视窗& quotcontent = & quotwidth=device-width,initial-scale=1.0,user-scalable=no,minimum-scale=1.0,maximum -scale = 1.0 & quot;/& gt;& ltmeta charset = & quotut F-8 & quot;& gt& lttitle & gtTitle & lt/title & gt;& lt脚本src = & quothttps://Ajax . aspnetcdn . com/Ajax/jQuery/jQuery -3 . 2 . 1 . js & quot;& gt& lt/script & gt;& lt/head & gt;& ltbody & gt& lt表单id = & quotform1 & quotaction = & quothttps://dwb.lynncain.cn/H5/up_file.php" target = & quot;框架& quotmethod = & quot帖子& quotenctype = & quotmultipart/form -data & quot;& gt& lt输入类型= & quot文件& quotname = & quot文件& quot& gt& lt输入类型= & quot按钮& quotvalue = & quot上传" onclick = & quot上传()& quot& gt& lt/form & gt;& ltiframe name = & quot框架& quot框架边界= & quot0 & gt;height = & quot40 & quot& gt& lt/iframe & gt;& lt!--其实我们可以通过-->隐藏iframe标签;& lt脚本类型= & quottext/JavaScript & quot;& gt函数upload(){ $(& quot;# form1 & quot).submit();var = setInterval(function(){//获取iframe标记中body元素的文本。即服务器响应“上传成功”或“上传失败”var word = $(& quot;iframe[name = & # 039;框架1 & # 039;]& quot;).内容()。查找(& quotbody & quot).text();如果(字!= & quot"){//alert(word);//弹出窗口提示上传是否成功//clear interval(t);//清除定时器}},1000);} & lt/script & gt;& lt/body & gt;& lt/html & gt;
3.后端php接收文件并将其存储在服务器文件夹中,并将文件名存储在数据库中以供以后检索。
Up_file.php文件:
& lt?php头(& quotcontent -类型:text/html;charset = utf8 & quot);标题(& quot访问-控制-允许-来源:* & quot);//求解跨域头(& # 039;access -control -allow -方法:POST & # 039);//响应类型头(& # 039;access -control -allow -Headers:* & # 039;);//将响应头设置为$ link = MySQL _ connect(& quot;本地主机& quot,& quotroot & quot,& quotroot & quot);MySQL _ select _ db(& quot;新测试& quot,$ link);//选择数据库MySQL _ query(& quot;设置名称utf8 & quot);//error_reporting(0)解决中文乱码问题;if($ _ FILES[& quot;文件& quot][& quot;错误& quot]& gt;0){ echo & quot;错误:“”。$ _ FILES[& quot;文件& quot][& quot;错误& quot] ."& ltbr/>;";} else { $ dlog[& quot;名称& quot]= $ _ FILES[& quot;文件& quot][& quot;名称& quot];$ dlogs = $ dlog//echo URL decode(JSON _ encode($ dlogs));$ name = $ _ FILES[& quot;文件& quot][& quot;名称& quot];回声& # 039;上传成功!';echo $ name//将数据插入数据库$strsql = "。插入到名称(文件名)值(& # 039;$ name & # 039)& quot;MySQL _ query()函数执行一个MySQL查询。选择、显示、解释或描述所有需要使用该函数执行的$ result = @ MySQL _ query($ strsql);//echo & quot;文件名:"。$ _ FILES[& quot;文件& quot][& quot;名称& quot] ."& ltbr/>;";//echo & quot;类型:“。$ _ FILES[& quot;文件& quot][& quot;键入& quot] ."& ltbr/>;";//echo & quot;尺寸:“。($ _ FILES[& quot;文件& quot][& quot;尺寸& quot] / 1024) ."Kb & ltbr/>;";}如果(文件存在(& quot上传/& quot;。$ _ FILES[& quot;文件& quot][& quot;名称& quot])){//echo $ _ FILES[& quot;文件& quot][& quot;名称& quot] ."该文件已经存在。;} else { move _ uploaded _ file($ _ FILES[& quot;文件& quot][& quot;tmp _ name & quot],& quot上传/& quot;。$ _ FILES[& quot;文件& quot][& quot;名称& quot]);//echo & quot;文件已保存到:"。"上传/& quot;。$ _ FILES[& quot;文件& quot][& quot;名称& quot];} ?& gt4.在微信小程序中创建页面,使用web-view上传文件;
Web.wxml文件
& lt!--pages/web/web . wxml --& gt;& ltweb -view src = & # 039;https://dwb.lynncain.cn/H5/' & gt;& lt/web -view & gt;注:微信小程序web -视图标签如上使用,无需额外代码。
本文详细讲解了微信小程序上传word、txt、Excel、PPT等文件的内容。更多相关内容,请关注即时码站。
相关建议:
冒泡、二分法插入和快速排序介绍
解释php支持断点续传的文件下载类的相关内容。
如何通过php过滤html标签属性类
VIP推荐:22门课程,总价3725元。VIP会员免费。
评论前必须登录!
注册