微信小程序开发---实现文件上传和下载

在开发小程序的过程中,我们难免会遇到使用小程序对后端发送文件;或者接收后端的文件,本文章将手把手带你简单高效实现微信小程序的文件上传下载功能

前期准备

由于目前小程序保护用户个人隐私力度加大 ,因此我们要想实现文件上传,先要到微信公众平台申请权限,进入设置中的服务内容与声明
在这里插入图片描述

我们在点击更新用户隐私保护指引,在里面我们发现没有找到相应的文件选项,那我们就点击自定义,点击确认之后就会出现选项框供你选择,就按照我下面的填写并且提交之后等待审核通过就可以开发相应的文件上传下载接口
在这里插入图片描述
在这里插入图片描述

文件上传

作者是使用HbuilderX进行开发,但是方法都是一致的,只需要按需更改调用主体就行(例如:wx;uni)

首先是选择文件,微信小程序上传文件的机制是,先我们用户选取的文件创建一个零时的存放路径,等待我们点击上传的时候就可以直接将上传文件的零时路径携带在网络请求中给后端,此时后端就可以接收到文件,并且在发送文件的时候不是像之前一样使用uni.request(wx.request)而是需要使用formData格式的请求体使用专门的上传方法

需要使用uploadFile方法上传文件,使用formData来存储我们的其他一些JSON格式的数据,比如要让后端知道这是什么文件,是第几个文件之类的信息

<uni-file-picker @select="saveRelatePath" limit="1" file-mediatype="all" title="上传资料"></uni-file-picker>
<!--@select方法是我们选取的文件之后,执行的方法,在我们选取文件之后需要将文件的零时路径进行保存 -->
<button @click="updata" type="primary">确认上传</button>
<script>
export default{
	data(){
		return {
			filePath:''//存放文件的临时目录
		}
	},
	method:{
		saveRelatePath(file){
			this.filePath = path.tempFilePaths[0]//将文件的临时地址保存下来
		},
		updata(){
			var _this = this //保存当前对象指针,用于获取到来刚刚保存的filePath
			uni.uploadFile({
				url: 'https://XXX.XXX.XX/XXX/', // 上传文件的服务器接口地址
				filePath: _this.filePath, // 选择的文件的临时路径
				name: 'file', // 服务器接收文件的字段名
				formData: {
					//放入JSON格式数据
				},
				success: function (res) {
					console.log(res)//打印后端返回的数据
				}
			})
		}
	}
}
</script>

文件下载

一般在开发的时候我们要下载文件一般就是小程序端向后端提供的指定URL接口发送我们要请求哪个文件,一般后端会告诉让你告诉他你要的文件是名字之类的信息。我们如果将这些信息放到请求体data里面无法正确请求文件信息,那么我们这时可能就需要将文件名拼接到之前的URL

<button @click="download">下载 </button>
<script>
export default{
	data(){
		return {
			fileName = 'XXXXXX'
		}
	},
	method:{
		download(){
			const filePath =`${wx.env.USER_DATA_PATH}/test.xlsx`//下载文件存储在当前微信的临时文件夹下,文件名为test,格式为xlsx
				var _this = this
				uni.downloadFile({
					//1.将文件信息放在请求体中
				    //url: 'https://XX/XX/XX' ,
				    //data:{
				    //	fileName = _this.fileName//下载的文件名
				    //},
				    //2.将请求体拼接在URL上
				    //注意有的可能使用斜杠 / 来进行分割有的时需要使用 ?name = "XXX"这种形式,一定要和后端确定号后端时用什么形式接收参数
				    url: 'https://XX/XX/XX/' + _this.fileName,
				    
				    success: function (res) {//文件下载成功使用getFileSystemManager管理文件
						uni.getFileSystemManager().saveFile({//将文件保存到目前零时文件下
				        tempFilePath: res.tempFilePath,
				        filePath: filePath,
				        success: function (res_) {
							if(res.statusCode === 200){//文件保存成功之后就可以打开文件
								uni.openDocument({
									filePath: res_.savedFilePath,
									showMenu: true, // 右上角显示三个点,微信自带的api,可以保存、转发文件
									success: function (res) {
										uni.showToast({
											title: '打开成功'
										});
									},
								})
							}else {//文件没有打开成功就报错提示
								uni.hideLoading()
								uni.showToast({
									icon:"error",
									title: '打开失败'
								});
							}
				        },
				        fail: function (err) {
				            uni.showToast({
				            	icon:"error",
				            	title: '加载失败'
				            });
				        }
				        })
				    }
				})
		}
	}
}
</script>
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 微信小程序开发H5商城源码下载是指在开发微信小程序时使用H5商城源码进行页面开发微信小程序是一种基于微信平台的轻量级应用,而H5商城是一种基于HTML5技术的网页商城。通过将这两者结合起来,可以在微信小程序实现商城功能。 下载微信小程序开发H5商城源码的具体步骤如下: 首先,需要在网上搜索微信小程序开发H5商城源码下载的相关资源。可以直接搜索“微信小程序开发H5商城源码下载”,或者通过一些技术交流社区、技术博客、技术论坛等找到相关信息。 一般情况下,会有一些开发者或者团队将自己开发的H5商城源码进行分享,提供下载链接。可以根据自己的需求选择一个合适的源码进行下载下载完成后,需要解压源码文件,并将其中的相关页面文件、样式文件、脚本文件等导入到自己的微信小程序开发工具中。开发工具可以是微信官方提供的开发者工具,也可以是其他第三方的开发工具。 在开发工具中,可以根据源码的文件结构和逻辑进行相应的修改和调整,以适应自己的商城需求。可以修改页面的布局、样式、交互逻辑等,也可以添加新的功能和页面。 调试完成后,可以进行打包和发布。可以将小程序打包成一个小程序包,然后进行上传发布到微信小程序的后台,即可在微信上使用。 总的来说,微信小程序开发H5商城源码下载是为了方便开发者在微信小程序实现商城功能。通过下载合适的H5商城源码,进行修改和调整,可以快速搭建一个适合自己需求的微信小程序商城。 ### 回答2: 微信小程序开发H5商城源码下载并不是一件难事。首先,你可以通过搜索引擎或者开发者社区找到适合的商城H5源码。在下载源码之前,确保该源码是可靠、安全的,并且满足你的需求。 一旦你找到了合适的源码,你可以点击下载链接或者通过扫描二维码来获取源码的压缩包。下载完成后,解压缩得到源码文件夹。 接下来,你需要使用开发工具,如微信开发者工具,来打开下载的源码文件夹。在开发工具中,你可以对源码进行编辑和定制,使其适应你的商城需求。你可以修改页面布局、样式、功能逻辑等等。 在进行编辑和定制之前,建议你先了解开发环境的配置和基本使用方法。如果你之前没有进行过微信小程序开发,可以先学习一些相关的基础知识和技术文档,以便更好地理解和操作源码。 完成编辑和定制后,你可以点击开发工具中的预览按钮,查看和测试你的商城H5页面。如果一切正常,你可以选择发布商城小程序,让更多的用户可以使用你的商城H5。 总之,微信小程序开发H5商城源码下载并不复杂。只要你找到合适的源码,通过开发工具进行编辑和定制,最终实现商城H5的发布。希望这些信息对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值