【uniapp】上传文件流图片

需求:从接口下载指定文件,把这个文件再上传到后端。

背景:文件的上传、下载接口都是现有的,原本在pc端下载使用的responseType为blob,在uniapp不支持。如果按照原本的方式请求接口,返回的值会是字符串,不是blob

解决:

使用uni.downloadFile下载文件,获得文件的临时路径,再用uni.uploadFile上传临时路径文件,这样就不需要花里胡哨把文件格式转来转去了。

示例代码:

javascript 复制代码
uni.downloadFile({
	url: 'url', //现有的下载文件接口路径
	header: {
		Authorization: 'token', //鉴权token,也可添加其他项目需要的请求头
	},
	success:(downloadRes)=>{
		const tempFilePath = downloadRes.tempFilePath; //关键!!获取到了下载文件的临时路径
		uni.uploadFile({
			url: 'url', //现有的上传文件接口路径
			filePath: tempFilePath,
			name: "file", //formData中文件的键名
			header: {
				Authorization: 'token', //鉴权token,也可添加其他项目需要的请求头
			},
			formData: { //此处添加formData里其他的参数
	            modelName: "repairProcess-initiate",
	            relaId: id,
	            appName: "pvow"
             },
             success: (uploadFileRes) => {
               console.log('success',uploadFileRes);
             },
             fail: (e) => {
               console.log("e",e);
             },
           });
         }
       })
相关推荐
全栈前端老曹1 天前
【包管理】npm init 项目名后底层发生了什么的完整逻辑
前端·javascript·npm·node.js·json·包管理·底层原理
HHHHHY1 天前
mathjs简单实现一个数学计算公式及校验组件
前端·javascript·vue.js
boooooooom1 天前
Vue3 provide/inject 跨层级通信:最佳实践与避坑指南
前端·vue.js
一颗烂土豆1 天前
Vue 3 + Three.js 打造轻量级 3D 图表库 —— chart3
前端·vue.js·数据可视化
青莲8431 天前
Android 动画机制完整详解
android·前端·面试
iReachers1 天前
HTML打包APK(安卓APP)中下载功能常见问题和详细介绍
前端·javascript·html·html打包apk·网页打包app·下载功能
颜酱1 天前
前端算法必备:双指针从入门到很熟练(快慢指针+相向指针+滑动窗口)
前端·后端·算法
lichenyang4531 天前
从零开始:使用 Docker 部署 React 前端项目完整实战
前端
明月_清风1 天前
【开源项目推荐】Biome:让前端代码质量工具链快到飞起来
前端
愈努力俞幸运1 天前
vue3 demo教程(Vue Devtools)
前端·javascript·vue.js