Skip to content

上传文件

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

请求参数

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

UploadFileOptionFiles

类型必备默认值描述兼容性
namestringfilemultipart 提交时,表单的项目名,默认为 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>
	import { http } from "@/uni_modules/ucs-request";
	
	http.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>
	import { http } from "@/uni_modules/ucs-request";
	
	http.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>