Skip to content

上传文件 ​

将本地资源上传到开发者服务器

请求参数 ​

值类型必备默认值描述
urlstring是-开发者服务器接口地址
filePathstring否null要上传文件资源的路径, 支持uni.env
namestring否null文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容
filesArray<UploadFileOptionFiles>否null需要上传的文件列表
headerUTSJSONObject否nullHTTP 请求 Header, header 中不能设置 Referer
formDataUTSJSONObject否nullHTTP 请求中其他额外的 form data
uploadFileTimeoutnumber否120000超时时间,单位 ms
closeInterceptorboolean否false关闭当前请求的拦截器
success(option: UTSJSONObject) => void否null成功返回的回调函数
fail(option: UTSJSONObject) => void否null失败的回调函数
complete(option: UTSJSONObject) => void否null结束的回调函数(调用成功、失败都会执行),成功或者失败都会调用。
uploadTask(task : UploadTask) => void否-UploadTask 的方法

UploadFileOptionFiles ​

值类型必备默认值描述兼容性
namestring否filemultipart 提交时,表单的项目名,默认为 file,如果 name 不填或填的值相同,可能导致服务端读取文件时只能读取到一个文件。
uristring是-要上传文件资源的路径不支持web
filestring否-要上传的文件对象不支持HarmonyOS

success返回值 ​

值类型必备默认值描述兼容性
datastring是-开发者服务器返回的数据
statusCodenumber是-开发者服务器返回的 HTTP 状态码

fail返回值 ​

值类型必备默认值描述兼容性
errCodenumber是-错误码
errSubjectstring是-统一错误主题(模块)名称
dataany否-错误信息中包含的数据微信小程序
causeError否-源错误信息,可以包含多个错误,详见SourceError
errMsgstring是-

errCode合法值 ​

值描述
5接口超时
1000服务端系统错误
100001json数据解析错误
100002错误信息json解析失败
100003json解析类型转换失败
600003网络中断
600008data参数类型不合法
600009URL格式不合法
602001request系统错误

uploadFile 请求示例 ​

ts
<script setup>
	// 1、引入自定义创建实例
	import request from "@/xxxxxx/xxxxxx";
	// 2、基础使用
	request.uploadFile({
		url: "api/xxxxxx/xxxxxx",
		name: "file",
		filePath: "xxxxxxxxxxxx",
		success: (res) => {
			console.log(res)
		},
		fail: (fail) => {
			console.log(fail)
		},
		complete: (e) => {
			console.log(e)
		}
	})
</script>

UploadTask 方法 ​

abort(): void ​

abort 中断上传任务

onProgressUpdate(callback: DownloadFileProgressUpdateCallback): void ​

onProgressUpdate 监听上传进度变化

值类型必备默认值描述兼容性
callback(result: OnProgressUpdateResult) => void是--

OnProgressUpdateResult属性值 ​

值类型必备默认值描述兼容性
progressnumber是-上传进度百分比
totalBytesSentnumber是-已经上传的数据长度,单位 Bytes
totalBytesExpectedToSendnumber是-预期需要上传的数据总长度,单位 Bytes

UploadTask 示例 ​

ts
<script setup>
	// 1、引入自定义创建实例
	import request from "@/xxxxxx/xxxxxx";
	// 2、基础使用
	request.uploadFile({
		url: "api/xxxxxx/xxxxxx",
		uploadTask: (task : UploadTask) => {
			// 方法调用
			task.onProgressUpdate((taskRes) => {
				console.log('上传进度:', taskRes.progress)
			})
		},
		success: (res) => {
			console.log(res)
		},
		fail: (fail) => {
			console.log(fail)
		},
		complete: (e) => {
			console.log(e)
		}
	})
</script>