微信小程序文件上传和下载到本地并打开

本文详细介绍了在微信小程序中如何使用wx.chooseMessageFile和wx.uploadFile实现文件上传,以及利用wx.downloadFile和wx.saveFile下载并保存到本地的过程。在文件保存方面,指出目前只能保存到临时路径,用户需要重新下载才能打开文件。
摘要由CSDN通过智能技术生成

文件上传我们要把选取文件这时我们需要借助小程序选取文件的api wx.chooseMessageFile(选取文件的api)或wx.chooseImage(选取图片的api)和文件上传以及下载的api,下面我们以上传文件为例:

1.首先选取要上传的文件把选取的文件大路径保存;
wx.chooseMessageFile({
 			success: (res) => {
 				this.fileName = res.tempFiles[0].name
 				this.filePath = res.tempFiles[0].path
 			}
 		});
2.然后调用文件上传的api wx.uploadFile
wx.uploadFile({
 			url: this.uploadUrl, //仅为示例,非真实的接口地址
 			filePath: filePath,
 			name: 'file',
 			formData: {
 				'file': 'file'
 			},
 			header: {
 				"Content-Type": "multipart/form-data",
 				"xxl_sso_sessionId": herads
 			},
 			success: (res) => {
 				var data = res.data
 				wx.showToast({
 					title: '文件上传成功',
 					icon: 'none'
 				});
 			}
 		})
 		wx.showToast({
 			title: '文件正在上传请耐心等待一会',
 			icon: 'loading',
 			duration: 1000
 		});
3.当上传完文件后用户下载文件到本地就需要用到文件下载的api即 wx.downloadFile
wx.downloadFile({
 			url: e,//文件上传成功后返回的地址或者是后端返回的下载地址
 			success: (res) => {
 				var tempFilePath = res.tempFilePath;
 				// 保存文件到本地(此时保存的是临时路径)
 				wx.saveFile({
 					tempFilePath,
 					success: (ress) => {
 						var savedFilePath = ress.savedFilePath;
 						// 打开文件
 						wx.openDocument({
 							filePath: savedFilePath,
 							success: function(res) {},
 						});
 					},
 					fail: function(err) {
                        console.log("文件打开失败")
 					}
 				});
 			},
 			fail: function(err) {
                console.log("文件下载")
 			},
 		})
4.经过以上的操作就实现了文件的上传和下载到本地并打开的需求,需要值得注意的是微信保存文件的api目前还无法支持将文件保存在手机目录中以便用户随时找到打开,现在只能通过保存到临时路径用户想要打开文件时需要重新下载(文件保存在临时路径,微信小程序会定期进行清理,所以不会造成内存的滥用)。
  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值