HarmonyOS 图片上传

HarmonyOS
2024-12-19 16:00:29
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

可以参考如下代码:

import request from '@ohos.request';
import picker from '@ohos.file.picker';
import fs from '@ohos.file.fs';
import common from '@ohos.app.ability.common';


// 获取应用文件路径
let context = getContext(this) as common.UIAbilityContext;
let cacheDir = context.cacheDir;
@Entry
@Component
struct Index4 {
  private openPhotoPicker() {
    let photoPicker = new picker.PhotoViewPicker();
    photoPicker.select({
      MIMEType: picker.PhotoViewMIMETypes.IMAGE_TYPE,
      maxSelectNumber: 1
    }, (error, result) => {
      if (result) {
        result.photoUris.forEach((uri) => {
          let file = fs.openSync(uri, fs.OpenMode.CREATE);
          // 复制文件到缓存目录下
          fs.copyFileSync(file.fd, cacheDir + '/test.jpeg')
          this.uploadImage(['internal://cache/test.jpeg']);
        })
      }
    });
  }
  private uploadImage(paths: string[]) {
    let allFiles = Array<request.File>()
    let header = new Map<Object, string>();
    header.set('Content-Type', 'multipart/form-data');
    header.set('key2', 'value2');
    for (let i = 0; i <paths.length; i++) {
      allFiles[i] = {
        name: "image" + i + ".jpeg",
        filename: "image" + i + ".jpeg",
        uri: paths[i],
        type: "image"
      }
    }
    let data: Array<request.RequestData> = [{ name: 'name', value: 'value' }];
    let uploadConfig: request.UploadConfig = {
      url: "http://XXX&#34;,
      header: header,
      method: 'POST',
      files: allFiles,
      data: data
    }
    try {
      request.uploadFile(getContext(this), uploadConfig, (error, uploadTask) => {
        if(uploadTask) {
          uploadTask.on('progress', (uploadedSize: number, totalSize: number) => {
            console.log("progress, uploadedSize: " + uploadedSize + ", totalSize: " + totalSize)
          })
        } else {
          console.log("upload failure: " + error)
        }
      });
    } catch (error) {
      console.log("upload failure: " + error)
    }
  }
  build() {
    Stack() {
      Column(){
      }
    }
    .width('100%')
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2024-12-19 18:25:46
相关问题
HarmonyOS 无法上传图片
352浏览 • 1回复 待解决
HarmonyOS 图片上传失败
419浏览 • 1回复 待解决
HarmonyOS 上传图片异常
360浏览 • 1回复 待解决
HarmonyOS 上传图片问题
308浏览 • 1回复 待解决
HarmonyOS 上传图片失败
692浏览 • 1回复 待解决
HarmonyOS web如何上传图片
240浏览 • 1回复 待解决
HarmonyOS axios如何上传图片
370浏览 • 1回复 待解决
HarmonyOS图片上传相关问题
777浏览 • 1回复 待解决
HarmonyOS 图片上传问题咨询
360浏览 • 1回复 待解决
HarmonyOS 图片上传httpRequest格式问题
303浏览 • 1回复 待解决
HarmonyOS如何实现图片上传
706浏览 • 1回复 待解决
HarmonyOS web上传文件和图片
550浏览 • 1回复 待解决
HarmonyOS axios如何上传多张图片
398浏览 • 1回复 待解决
HarmonyOS 上传图片到服务器
192浏览 • 1回复 待解决
HarmonyOS Web 图片上传功能失效
542浏览 • 1回复 待解决
HarmonyOS 如何上传本地图片
455浏览 • 1回复 待解决
HarmonyOS 怎么对图片进行压缩上传
481浏览 • 1回复 待解决
怎么实现后台上传图片
2731浏览 • 1回复 待解决
HarmonyOS 图片上传文件过大如何处理
413浏览 • 1回复 待解决
HarmonyOS h5上传图片功能,超时
433浏览 • 1回复 待解决
HarmonyOS 关于从相册中选择图片上传
413浏览 • 1回复 待解决
HarmonyOS 如何压缩图片之后再上传
292浏览 • 1回复 待解决
HarmonyOS 如何使用Axios框架上传图片
387浏览 • 1回复 待解决