uniapp发送formdata表单请求2种方法(全网最简单方法)
作者:Bug哆哆
这篇文章主要给大家介绍了关于uniapp发送formdata表单请求2种方法的相关资料,本文介绍的方法应该是全网最简单方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
因为uniapp不支持直接传输formdata,只提供了uploadFile方法上传文件,但是利用该方法就可以传输formdata了。
第一种:
可以直接使用filePath属性进行空文件传输,只需要设置filePath为空就行了。
function $uploadForm(url, data, filePath=''){ return new Promise((resolve, reject) => { uni.uploadFile({ header: { "Authorization": $getToken() }, url: url, timeout: 1000*6, filePath, formData: data, success: (res) => { }, complete: () => { }, fail: (res) => { } }) }) }
调用时,data是个对象即可。
this.$uploadForm(`/xxx`,{xxx:xxx}).then(res=>{})
第二种
使用file属性,无需选择文件,我们自己new个文件即可。
1、封装的上传方法
function $uploadFile(url, file, fileName='file', data){ return new Promise((resolve, reject) => { uni.uploadFile({ header: { }, url: url, timeout: 1000*6, file: file, name: fileName, formData: data, success: (res) => { }, complete: () => { }, fail: (res) => { } }) }) }
2、提交formdata
this.$uploadFile(this.testForm.url ,new window.File([new Blob()],'a.txt') ,'file' , JSON.parse(this.testForm.data)).then(res=>{})
测试结果
结尾
通过以上两种方式就能使用uniapp以表单方式提交数据了,虽然多传个file,但是这并不影响接口业务。
到此这篇关于uniapp发送formdata表单请求2种方法的文章就介绍到这了,更多相关uniapp发送formdata表单请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!