微信小程序实现pdf、word等格式文件上传的方法
目前微信只支持从聊天记录里面获取文件
一.前言
目前微信提供了一个接口 wx.chooseMessageFile
它能让用户从聊天记录里面选择一个或者多个文件,然后返回它的一些信息,列入文件的path地址,文件名,文件的大小等.
获取这些信息再结合微信的上传接口wx.uploadFile
,即可实现文件上传.
二.具体实现
首先需要一个按钮来调用wx.chooseMessageFile.
wx.chooseMessageFile({ count: 1, //能选择文件的数量 type: 'file', //能选择文件的类型,我这里只允许上传文件.还有视频,图片,或者都可以 success(res) { var size = res.tempFiles[0].size; var filename = res.tempFiles[0].filename; var newfilename = filename + ""; if (size > 4194304||newfilename.indexOf(".pdf")==-1){ //我还限制了文件的大小和具体文件类型 wx.showToast({ title: '文件大小不能超过4MB,格式必须为pdf!', icon: "none", duration: 2000, mask: true }) }else{ that.setData({ path: res.tempFiles[0].path, //将文件的路径保存在页面的变量上,方便 wx.uploadFile调用 filename: filename //渲染到wxml方便用户知道自己选择了什么文件 }) } } })
这样在这里就保存了文件的路径和名称
data: { path:'', filename:'' },
然后等用户进行提交的时候,再调用上传的接口
wx.uploadFile({ url: serverUrl //上传的路径 filePath: that.data.path, //刚刚在data保存的文件路径 name: 'file', //后台获取的凭据 success() { wx.showToast({ //做个提示或者别的操作 title: '', icon: "none", duration: 5000, mask: true, success: function (res) { } }) } })
这样前段就完成实现了
后台获取的文件是一个.tmp结尾的临时文件
然后就可以通过IO流将文件保存到你想保存的位置上去,就可以了.
总结
以上所述是小编给大家介绍的微信小程序实现pdf、word等格式文件上传的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关推荐
-
微信小程序实现图片轮播及文件上传
微信小程序实现图片轮播及文件上传 刚刚接触微信小程序,看着网上的资源写了个小例子,本地图片轮播以及图片上传. 图片轮播: index.js <span style="font-size:14px;">var app = getApp() Page({ data:{ mode: 'aspectFit', // src:'../images/timg1.jpg', imgUrls:[ '../images/1.jpg', '../images/2.jpg', '../imag
-
微信小程序学习笔记之文件上传、下载操作图文详解
本文实例讲述了微信小程序学习笔记之文件上传.下载操作.分享给大家供大家参考,具体如下: 前面介绍了微信小程序登录API与获取用户信息操作.这里再来介绍一下文件的上传与下载操作. [文件上传]wx.uploadFile (以上传图片为例) 后台上传接口Upload.php:(tp5) <?php namespace app\home\controller; use think\Controller; class Upload extends First { //上传图片API public fun
-
微信小程序实现文件、图片上传功能
本文实例为大家分享了微信小程序实现文件图片上传的具体代码,供大家参考,具体内容如下 在我看来微信小程序的功能挺强大的,提供了很多API让你直接使用. 这里我说一下微信小程序如何实现图片的上传 1.在微信公众号平台设置uploadFile合法域名 点击设置-开发设置,可以看到服务器域名,点击修改,设置一下你的uploadFile合法域名. 否则会出现以下错误. 2.使用wx.chooseImage和wx.uploadFile实现图片上传 代码如下 wx.chooseImage({ count: 1
-
微信小程序技巧之show内容展示,上传文件编码问题
show内容展示 尝试用微信小程序的template组件实现.同时,尝试页面间转跳时传参,在目标页面引入模板文件实现 写的更少,做的更多 篇幅有限详细代码此处省略 <view class="show-warp"> <block wx:for="{{discuss}}" wx:key="index"> <template is="discuss" data="{{item}}"&
-
微信小程序 ES6Promise.all批量上传文件实现代码
微信小程序 ES6Promise.all批量上传文件实现代码 客户端 Page({ onLoad: function() { wx.chooseImage({ count: 9, success: function({ tempFilePaths }) { var promise = Promise.all(tempFilePaths.map((tempFilePath, index) => { return new Promise(function(resolve, reject) { wx.
-
微信小程序实现上传word、txt、Excel、PPT等文件功能
正文: 目前小程序没有能实现此功能的 API 所以我这里通过使用 web-view 实现: 实现流程: 1. 在小程序后台配置业务域名 2. 在服务器写一个html,实现表单上传文件 3.后端php接收文件并存到一个服务器文件夹,把文件名存到数据库以后检索用 4.在微信小程序创建一个页面,里面使用web-view达到上传文件的目的: 效果图: 具体实现: 1. 在小程序后台配置业务域名 2. 在服务器写一个html,实现表单上传文件 index.html文件 <!DOCTYPE html> &
-
微信小程序上传文件到阿里OSS教程
前言 (一)开通OSS服务与新建Bucket 开通OSS服务这里省略,新建bucket. (二)设置Bucket属性,后台配置域名 上传文件访问域名 这里我们要在小程序后台配置上传域名(上面的域名是我自己的申请的,后台配置的是公司的的域名,使用的时候你们用一套东西即可). 下图是bucket管理,这里可以新建文件的保存路径,域名管理. (三)服务端签名直传 点击查看文档 这里就不多做介绍了,这是上传文件到oss需要的参数,这些数据可以从后台获取. { "accessid": "
-
微信小程序环境下将文件上传到OSS的方法步骤
步骤 1: 配置 Bucket 跨域 客户端进行表单直传到 OSS 时,会从浏览器向 OSS 发送带有 Origin 的请求消息.OSS 对带有 Origin 头的请求消息会进行跨域规则(CORS)的验证.因此需要为 Bucket 设置跨域规则以支持 Post 方法. 步骤 2:配置外网域名到小程序的上传域名白名单中 通过 OSS 控制台查看外网域名. 登录微信小程序平台,配置小程序的上传域名白名单. 步骤 3:使用 Web 端直传实践方案 Demo 进行上传测试 下载应用服务器代码 修改 De
-
微信小程序-拍照或选择图片并上传文件
微信小程序-拍照或选择图片并上传文件 调用拍照API:https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-picture.html?t=20161222#wxchooseimageobject 上传文件API:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-file.html 主要js代码: choice: function () { var that = this wx.choose
-
微信小程序实现pdf、word等格式文件上传的方法
目前微信只支持从聊天记录里面获取文件 一.前言 目前微信提供了一个接口 wx.chooseMessageFile 它能让用户从聊天记录里面选择一个或者多个文件,然后返回它的一些信息,列入文件的path地址,文件名,文件的大小等. 获取这些信息再结合微信的上传接口wx.uploadFile,即可实现文件上传. 二.具体实现 首先需要一个按钮来调用wx.chooseMessageFile. wx.chooseMessageFile({ count: 1, //能选择文件的数量 type: 'file
-
微信小程序实现一张或多张图片上传(云开发)
一.简介: 这篇文章向大家展示的是把图片上传到云数据库中,这是我做商城项目时研究的.大家都知道,云开发是没有后端开发的,所有图片我们要放到云数据库中. 二.素材图: : 三.效果图: 四.代码: wxml: <!--miniprogram/pages/fb/fb.wxml--> <view class='pages'> <view class='top'><text class='top_name'>商品图片:</text></view&g
-
微信小程序wxss如何引用外部CSS文件以及iconfont
起因 小程序引入外部文件的方式是:@import "*/*.wxss"; 因为业务需要,正在开发的小程序中需要使用iconfont,很容易想到了H5的引入方式: ```` @font-face {font-family: "iconfont"; src: url('iconfont.eot?t=1485242349767'); /* IE9*/ src: url('iconfont.eot?t=1485242349767#iefix') format('embedd
-
微信小程序中使元素占满整个屏幕高度实现方法
微信小程序中使元素占满整个屏幕高度实现方法 在项目中经常要用到一个容器元素占满屏幕高度和宽度,然后再在这个容器元素里放置其他元素. 宽度很简单就是width:100% 但是高度呢,我们知道的是height:100%必须是在父元素的高度给定了的情况下才可以. 以前我的做法是用js获取屏幕的高度,然后将其赋值给height, 屏幕高度在网页中为:window.innerHeight; 在微信小程序中则需要调用wx.getSystemInfo接口,然后通过setData赋值 但是显然通过js来进行的,
-
微信小程序实现image组件图片自适应宽度比例显示的方法
本文实例讲述了微信小程序实现image组件图片自适应宽度比例显示的方法.分享给大家供大家参考,具体如下: 一. 了解image组件 由于image有默认的固定的宽度和高度,这样我们在做图片自适应的时候,就不好做了.下面就来一起解决下 二. 方法 (一).使用mode:widthFix widthFix:宽度不变,高度自动变化,保持原图宽高比不变. 首先我们先设置image的mode为widthFix,然后给图片加一个固定rpx的宽度,比如:730rpx. 这样图片也可以自适应了..因为小程序的r
-
微信小程序实现页面跳转传值以及获取值的方法分析
本文实例讲述了微信小程序实现页面跳转传值以及获取值的方法.分享给大家供大家参考,具体如下: 在安卓中页面跳转传值都是通过bundle,现在研究一下小程序的列表跳转及页面传值. my.wxml <view class="container"> <view bindtap="bindViewTap" class="userinfo"> <image class="userinfo-avatar" sr
-
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
本文实例讲述了微信小程序五子棋游戏的棋盘,重置,对弈实现方法.分享给大家供大家参考,具体如下: DEMO下载 五子棋对弈.悔棋DEMO 效果图 分析 1. 采用微信小程序的canvas制作五子棋: 2. 确定棋盘大小及格数: 3. 绘制棋盘--通过棋盘宽高和格数计算间距,同时保存坐标点: 4. 黑方和白方下子--定义一个布尔变量代表各自的身份: 5. 重置棋盘--重新开始: 6. 通过判断当前棋手,悔棋时进行改变. 绘制棋盘 drawLine(arr){ arr.forEach(current
-
微信小程序自定义组件传值 页面和组件相互传数据操作示例
本文实例讲述了微信小程序自定义组件传值 页面和组件相互传数据操作.分享给大家供大家参考,具体如下: 要想在组件中调到页面中的方法,并且想要组件中传数据到页面去,emmmm,可以酱紫: 用组件事件 triggerEvent! 首先,在页面中定义组件 ,json文件中记得加上: { "usingComponents": { "user-btn": "/pages/component/userInfo/userInfo" } }, 然后,index.w
-
微信小程序实现元素渐入渐出动画效果封装方法
开端 之前一直使用堪称"万能"的jQuery处理用户交互的动画,近日开发微信小程序,微信小程序高度限制的语法和功能使开源函数可谓对其"无能为力". 那没办法,只好自己写一个可以让元素渐入渐出的,可复用的函数了.做到类似jQuery show()的效果 原创文章,允许转载分享.但请转载请一定标明出处,这是起码的尊重 本文章阅读前需要对微信小程序的动画api有所了解 先看效果 可以看到,动画效果十分流畅,高度复用,封装好后只需要三行代码实现动画 解决 1.寻根问底,发现
随机推荐
- Android正则表达式
- mysql数据库备份设置延时备份方法(mysql主从配置)
- Lua中的元表和元方法学习笔记
- DELL服务器RAID H700,PERC H800阵列卡配置中文完全手册图解
- java map遍历的四种方法总结
- 浅谈numpy中linspace的用法 (等差数列创建函数)
- Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
- php 数组操作(增加,删除,查询,排序)等函数说明第1/2页
- 屏蔽机器人从你的网站搜取email地址的php代码
- Python写的Tkinter程序屏幕居中方法
- C#创建WCF服务控制台应用程序详解
- Android自定义照相机Camera出现黑屏的解决方法
- MySQL易学易用之MYSQL不为人知的特性
- 使用GruntJS链接与压缩多个JavaScript文件过程详解
- 幻灯片带网页设计中的20个奇妙应用示例小结
- jQuery操作属性和样式详解
- 用javascript实现读取txt文档的脚本
- JavaScript字符串删除重复字符的方法
- canvas实现图像放大镜
- IIS下Zend 出现 Unable to view file mapping 问题的解决方法汇总