HarmonyOS axios如何上传图片

HarmonyOS
2024-12-28 07:35:43
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

可以参考此demo:

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>('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支持传入沙箱路径
        // 发送请求

      })
    })
  }
}
分享
微博
QQ
微信
回复
2024-12-28 10:37:08
相关问题
HarmonyOS axios如何上传多张图片
358浏览 • 1回复 待解决
HarmonyOS 如何使用Axios框架上传图片
274浏览 • 1回复 待解决
使用axios上传图片时候错误
447浏览 • 1回复 待解决
HarmonyOS axios上传文件失败
385浏览 • 1回复 待解决
HarmonyOS web如何上传图片
206浏览 • 1回复 待解决
HarmonyOS axios上传文件数据传递问题
169浏览 • 1回复 待解决
HarmonyOS 图片上传
246浏览 • 1回复 待解决
HarmonyOS如何实现图片上传
684浏览 • 1回复 待解决
HarmonyOS 图片上传失败
367浏览 • 1回复 待解决
HarmonyOS 无法上传图片
273浏览 • 1回复 待解决
HarmonyOS 上传图片异常
340浏览 • 1回复 待解决
HarmonyOS 上传图片失败
607浏览 • 1回复 待解决
HarmonyOS 上传图片问题
273浏览 • 1回复 待解决
HarmonyOS 如何上传本地图片
397浏览 • 1回复 待解决
HarmonyOS 图片上传文件过大如何处理
377浏览 • 1回复 待解决
HarmonyOS 如何压缩图片之后再上传
254浏览 • 1回复 待解决
HarmonyOS图片上传相关问题
726浏览 • 1回复 待解决
HarmonyOS如何上传图片到模拟器相册
1421浏览 • 1回复 待解决
HarmonyOS 图片上传httpRequest格式问题
282浏览 • 1回复 待解决
HarmonyOS 图片上传问题咨询
285浏览 • 1回复 待解决