uniapp小程序(原生微信小程序也可以使用),获取接口二进制流数据上传文件到服务器

这篇具有很好参考价值的文章主要介绍了uniapp小程序(原生微信小程序也可以使用),获取接口二进制流数据上传文件到服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求:通过接口返回的二进制流数据,这个流数据他是一个xlsx文档,需要给到用户一个文档线上连接。

下面是具体代码,注意只针对二进制的文件数据,如果图片上传直接调用uploadFile就可以,并且兼容原生微信小程序。

export function exportExcel1(query) {
	uni.showLoading({
		title: '正在导出...',
		mask: true
	});
	// 这个是get接口参数 setUrlQuery 是我自定义的函数封装 主要是拼接url参数的
	let obj = {
		"personnelIdList":state.personnel.list.map((item)=>item.personnelId),
		"projectId":store.project.projectId,
		...query
	};
	// 调用接口 获取二进制流 进行下载并且获取临时文件地址
	uni.downloadFile({
		url:env.ApiUrl+'/personnel/laborer/exportExcel'+uni.setUrlQuery(obj),
		header: {
		    'content-type': 'application/json',
		    'Authorization' : 'Bearer ' + storage.getItem('Authorization')
		},
		success(res){
			let tempFilePath = res.tempFilePath; // 获取微信返回的临时系统文件地址
			uni.uploadFile({
				url: env.ApiUrl + 'xxx', // 上传文件接口
				formData: {}, // 除文件外其他所有数据,传对象,会默认转换为 FormData
				filePath: tempFilePath, // 上传临时的系统文件地址
				header: {
				    'content-type': 'application/json',
				    'Authorization' : 'Bearer ' + storage.getItem('Authorization')
				},
				name: 'file', // 注意与后端约定的字段名称
				success(res){
					uni.hideLoading();
					// 弹窗提示导出成功 用户点击确定复制url文件地址
					uni.showModal({
						title: '导出成功',
						content: '已生成当前列表人员数据文档!',
						cancelText: '取消',
						confirmText: '复制URL',
						success: function (res) {
							if (res.confirm) {
								// 获取url 进行复制
								uni.setClipboardData({
									data:result,
									success() {},
								});
							}
						}
					});
					// 文件预览
					// uni.openDocument({
					// 	filePath: 'url',// 可以是微信给的系统临时url地址,也可以是正式的线上地址
					// 	success: (sus) => {
					// 		console.log('成功打开');
					// 	},
					// });
				}
			});
		}
	});
};

 文章来源地址https://www.toymoban.com/news/detail-586684.html

到了这里,关于uniapp小程序(原生微信小程序也可以使用),获取接口二进制流数据上传文件到服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 原生微信小程序/uniapp使用空格占位符无效解决方法

    最近碰到一个需求,在一个 text 文本中的前后添加 空格占位符 ,总所周知,我并不会前端,于是我查看了原生微信小程序以及uniapp官方文档,得到了以下答案: 原生微信小程序官方文档 uniapp官方文档 从文档可以知道我们可以用 nbsp; , ensp; , emsp; 等等作为占位符实现空格效果

    2024年02月03日
    浏览(92)
  • 使用uniapp编写微信小程序并与原生小程序代码进行融合

    在使用uniapp编写时所使用的语法为VUE,代码编写完成后点击HBuilder X工具窗口:发行编译为小程序,即可自动转换为小程序的代码 解决问题: 编译之后代码会被进行压缩,vue文件会被拆分,其中的变量名也会被替换掉,基本没有可读性,变成这样: 这样的代码基本是不可进行

    2024年02月09日
    浏览(67)
  • 【微信小程序】使用和风天气接口api(全过程)——获取天气

    介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力? 我见过最好的答案就是:因为我喜欢的东西都很贵,

    2023年04月08日
    浏览(106)
  • Uniapp写微信小程序时,如何获取用户头像和昵称使用微信用户信息登录?

    实现效果如下: 首先使用uni.login获取用户登录凭证code: 官方代码: success返回参数如下: 头像选择: 需要将 button 组件  open-type  的值设置为  chooseAvatar ,当用户选择需要使用的头像之后,可以通过  bindchooseavatar  事件回调获取到头像信息的临时路径。 从基础库2.24.4版本

    2024年02月04日
    浏览(47)
  • Uniapp与原生微信小程序开发区别对比

    微信小程序:(微信小程序也可以不写wx:for-index和wx:for-item,默认为index和item`) uni-app:

    2024年02月15日
    浏览(62)
  • 最新微信小程序获取头像昵称,直接用,uniapp获取微信小程序头像昵称

    微信小程序获取用户头像和昵称一个开放接口是wx.getUserInfo,2021年4月5日被废弃,原因是很多开发者在打开小程序时就通过组件方式唤起getUserInfo弹窗,如果用户点击拒绝,无法使用小程序,这种做法打断了用户正常使用小程序的流程,同时也不利于小程序获取新用户,后面新

    2024年02月11日
    浏览(53)
  • 微信小程序无法获取头像,昵称的解决办法 (原生)

    最新发布的微信小程序已经无法获取头像和昵称,那么如何解决这个问题呢? 其实很简单,新用户注册后,提示跳转到新页面,要求修改昵称和头像即可。 本代码为原生代码,提供思路与解决办法,后端请自行编写.

    2024年02月13日
    浏览(111)
  • uniapp 微信小程序获取当前位置定位不准确问题 uniapp 微信小程序获取当前位置的坐标(经纬度),通过坐标去获取当前具体地址

    点击获取定位-位置授权-显示地址信息 1 2、 3、 以下3处(!!!必需)必须满足 manifest.json(!!!必需)

    2024年02月08日
    浏览(72)
  • uniapp微信小程序获取屏幕宽高

    uniapp开发微信小程序的时候,有时候去调整样式 你需要适配各种手机屏幕,使用,你的样式宽高就不能使用rpx   有的朋友觉得可以使用vw  vh  %   是的,当然可以 但是要让你的元素,宽高,比如50%再去加上20rpx  怎么做 所以这时候就要去获取不同手机页面屏幕的宽高 如何

    2023年04月09日
    浏览(54)
  • 【微信小程序/uniapp】视频如何在pad端可以横屏播放

    相信做视频类小程序的伙伴们一定会遇到视频在【pad】系列上播放的问题,我们会发现,当在pad端点击全屏播放的时候,他是竖屏的全屏(如图1),即便我们旋转屏幕,他依旧是竖屏类型的全屏(如图2) (图1) (图2) 而我们想要的效果是全屏【横屏】播放 那么如何能实

    2024年02月13日
    浏览(115)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包