【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);
             },
           });
         }
       })
相关推荐
脑袋大大的16 分钟前
JavaScript 性能优化实战:减少 DOM 操作引发的重排与重绘
开发语言·javascript·性能优化
速易达网络2 小时前
RuoYi、Vue CLI 和 uni-app 结合构建跨端全家桶方案
javascript·vue.js·低代码
耶啵奶膘2 小时前
uniapp+firstUI——上传视频组件fui-upload-video
前端·javascript·uni-app
JoJo_Way2 小时前
LeetCode三数之和-js题解
javascript·算法·leetcode
视频砖家2 小时前
移动端Html5播放器按钮变小的问题解决方法
前端·javascript·viewport功能
lyj1689973 小时前
vue-i18n+vscode+vue 多语言使用
前端·vue.js·vscode
小白变怪兽4 小时前
一、react18+项目初始化(vite)
前端·react.js
ai小鬼头4 小时前
AIStarter如何快速部署Stable Diffusion?**新手也能轻松上手的AI绘图
前端·后端·github
墨菲安全5 小时前
NPM组件 betsson 等窃取主机敏感信息
前端·npm·node.js·软件供应链安全·主机信息窃取·npm组件投毒