HarmonyOS axios如何上传图片

HarmonyOS
1天前
浏览
收藏 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
微信
回复
23h前
相关问题
HarmonyOS axios如何上传多张图片
24浏览 • 1回复 待解决
HarmonyOS 如何使用Axios框架上传图片
62浏览 • 1回复 待解决
使用axios上传图片时候错误
251浏览 • 1回复 待解决
HarmonyOS axios上传文件失败
31浏览 • 1回复 待解决
HarmonyOS web如何上传图片
36浏览 • 1回复 待解决
HarmonyOS 图片上传
94浏览 • 1回复 待解决
HarmonyOS如何实现图片上传
566浏览 • 1回复 待解决
HarmonyOS 上传图片问题
143浏览 • 1回复 待解决
HarmonyOS 上传图片异常
217浏览 • 1回复 待解决
HarmonyOS 上传图片失败
184浏览 • 1回复 待解决
HarmonyOS 如何上传本地图片
200浏览 • 1回复 待解决
HarmonyOS 图片上传失败
62浏览 • 1回复 待解决
HarmonyOS 如何压缩图片之后再上传
68浏览 • 1回复 待解决
HarmonyOS图片上传相关问题
500浏览 • 1回复 待解决
HarmonyOS 图片上传文件过大如何处理
135浏览 • 1回复 待解决
如何HarmonyOS中实现图片上传功能?
268浏览 • 0回复 待解决
HarmonyOS web上传文件和图片
305浏览 • 1回复 待解决
HarmonyOS如何上传图片到模拟器相册
1009浏览 • 1回复 待解决
HarmonyOS 图片上传httpRequest格式问题
141浏览 • 1回复 待解决