参考示例如下:import axios from '@ohos/axios' import { FormData } from '@ohos/axios' let formData = new FormData() formData.append('file', 'internal://cache/blue.jpg') // formData.append('file', cacheDir + '/hello.txt'); uri支持传入沙箱路径 // 发送请求 axios.post<string, AxiosResponse<string>, FormData>('https://xxx', formData, { headers: { 'Content-Type': 'multipart/form-data' }, context: getContext(this), onUploadProgress: (progressEvent: AxiosProgressEvent): void => { console.info(progressEvent && progressEvent.loaded && progressEvent.total ? Math.ceil(progressEvent.loaded / progressEvent.total * 100) + '%' : '0%'); }, }).then((res: AxiosResponse<string>) => { console.info("result" + JSON.stringify(res.data)); }).catch((err: AxiosError) => { console.error("error:" + JSON.stringify(err)); })import picker from '@ohos.file.picker'; import fs from '@ohos.file.fs'; import axios, { AxiosError, AxiosProgressEvent, AxiosResponse } from '@ohos/axios' import { FormData } from '@ohos/axios' import { common } from '@kit.AbilityKit'; @Entry @Component struct Index { @State message: string = 'hello World'; context = getContext(this) as common.UIAbilityContext build() { Button('选择').onClick(() => { let uris: Array<string> = []; let documentViewPicker = new picker.PhotoViewPicker(); documentViewPicker.select({ MIMEType: picker.PhotoViewMIMETypes.IMAGE_TYPE, maxSelectNumber: 1 }).then((photoSelectResult: picker.PhotoSelectResult) => { uris = photoSelectResult.photoUris; console.info('photoViewPicker.select to file succeed and uris are:' + uris); let fileSource = fs.openSync(uris[0], fs.OpenMode.READ_ONLY); let fileDes = fs.openSync(`${this.context.cacheDir}/1.jpg`, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); fs.copyFileSync(fileSource.fd, fileDes.fd) fs.closeSync(fileSource); fs.closeSync(fileDes); let formData = new FormData() formData.append('file', `${this.context.cacheDir}/1.jpg`); //uri支持传入沙箱路径 // 发送请求 }) }) } }
参考示例如下: