uni-app微信小程序实现pdf、word等格式文件上传到服务器,本地预览pdf文件
如何简单的写出一个涵盖核心的标题呢?难~,不浪费那个时间了,把功能实现才是主要的,下面我们分享一下如何在uni-app开发的微信小程序中实现,word,pdf等文件上传到服务器呢? 又是如何实现本地预览文件的呢?下面我依依来分享一下。
一、微信小程序上传文件
1、准备工作
微信小程序开发文档:https://developers.weixin.qq.com/miniprogram/dev/framework/
⚠️注意: 目前微信只支持从聊天记录里面获取文件
- 目前微信提供了一个接口
wx.chooseMessageFile它能让用户从聊天记录里面选择一个或者多个文件,然后返回它的一些信息,列入文件的path地址,文件名,文件的大小等. - 获取这些信息再结合微信的上传接口
wx.uploadFile,即可实现文件上传.
2、功能实现代码
下面我会详细的分享每个步骤的代码,嫌麻烦的跳过即可。
这是一个上传的按钮

<view class="uploadBtn" @click="selectFile">
<text class="iconfont wx__icon"></text>
手机上传附件简历(微信)
</view>
点击事件
selectFile(){
if(this.pdfInfo.length != 0){ //this.pdfInfo 这个是页面进来获取的油污上传过文件,要求不可重复上传
this.$uniApi.tipMsg('如果重新上传请先删除已有的简历附件~')
return
}
let _that = this
wx.chooseMessageFile({
count: 10, //最多可以选择的文件个数,可以 0~100
type: 'file', //所选的文件的类型,具体看官方文档
success (res) {
// tempFilePath可以作为img标签的src属性显示图片
const tempFilePaths = res.tempFiles[0].path
let filename = res.tempFiles[0].name; //用于页面显示的名字
// 这一步判断可以省略,如果需求没有格式要求的话
if(filename.indexOf(".pdf")==-1){
_that.$uniApi.tipMsg('暂时仅支持pdf格式的文件')
return
} else {
console.log("开始上传")
wx.uploadFile({
url: '这里是您后台提供文件上传的API', //上传的路径
filePath: tempFilePaths, //刚刚在data保存的文件路径
name: 'file', //后台获取的凭据
formData:{ //如果是需要带参数,请在formData里面添加,不需要就去掉这个就可以的
"userId": 1,
"fileName": filename
},
success(res) {
console.log(res)
// TO_DO
// data: "{"code":"00000","msg":"成功","count":null,"data":true}"
// if(res.data.code != "00000"){
// this.errTips(res.data.msg)
// return
// }
_that.getUserFile()//上传成功后,用于页面展示,所以在此在服务器拉取一次文件展示前端
}
})
console.log('上传到服务器')
}
}
})
}
上面分享了整个上传过程中详细的代码,几乎每个步骤都注释了,如果还有看不明白的可以联系我。
二、 微信小程序本地预览pdf文件
文件上传到服务器后,我们前端怎么实现本地预览呢?其实之前也分享过一篇相关文章的《 uni-app 微信小程序中打开预览pdf文件 》这里就不做分享了,直接去查看上面的这个文章,详细的记录了如果本地预览,以及遇到的bug和解决方法。
分享一下有关微信小程序和uni-app的不错的课程给大家吧
1、 《 uni-app实战直播app全栈开发 》 百度网盘
2、《 uni-app快速入门 从零开始实现新闻资讯类跨端应用(含源码) 》完整无秘
3、《 微信小程序入门与实战(全新版)2020版 》 百度网盘
⚠️:当天下载多套可以找客服微信: ITBOKE, 索取优惠价哦























