【入门到实战】OpenHarmony开发:ImageUploader 图片上传

往期鸿蒙5.0全套实战文章必看:(文中附带全栈鸿蒙5.0学习资料)


介绍

用于本地的图片上传至服务器

ImageUploader 图片上传

导入依赖

import { ImageUploader, ImageBean, UploadImage } from '@peakmain/library/Index';

ImageUploader组件

参数

ImageUploader组件

参数名参数类型名称
titlestring设置组中标题文本,默认值为 "",则不会显示标题栏
maxSelectNumbernumber最大可选图片数量,默认值为3
canUploadboolean是否可以选择图片上传,默认值为true,表示可以选择图片
imgBeanImageBean[]已选择图片的集合
onSelectImageChange(list: ImageBean[])选择图片之后的回调,默认为空实现
areaHeightnumber设置状态栏的高度,主要用于解决图片预览时沉浸式问题

UploadImage 上传图片

图片上传结果

参数名参数类型名称
beanImageBean[]上传图片的集合
urlstring上传图片的url
tokenstring上传接口的token,默认值为 ""
async submit()
{
  const result = await UploadImage(this.imgBean, this.url, this.token)
  let tmp: string[] = []
  tmp = result.map(url => {
    return url.url
  })
  AlertDialog.show({
    message: `上传图片后的结果:${tmp}`
  })
}
示例
import { NavBar, ImageUploader, ImageBean, UploadImage } from '@peakmain/library/Index';
import { AREA_HEIGHT } from '../../constants/StorageConstants';

@Entry
@Component
struct PkLoaderPage{
  @State
  imgBean: ImageBean[] = []
  token: string =
    "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI0MDUxNjEzMDI0ODM3NDU4MDIxIiwiYWNjb3VudCI6InRyZWFzdXJlIiwibmFtZSI6IuWPuOacuiIsIm9yZ2lkIjoxMDI0OTkwNzI2NTE5NDAzNDU3LCJzdGF0aW9uaWQiOjEwMjQ3MDc1MzU4OTE5NDQ3NjksImFkbWluaXN0cmF0b3IiOmZhbHNlLCJleHAiOjE3MTY5OTIxNjR9.hQzHgAHGNYjxJ-G4nY68DFy8PUfx4nF2VFo9R_dMKSswPEkoI77uKqop9clSPr7bSdT5B4e0yHStjH-vHRTeVw"
  @StorageProp(AREA_HEIGHT)
  areaHeight: number = 0

  async submit()
  {
    const result = await UploadImage(this.imgBean, "", this.token)
    let tmp: string[] = []
    tmp = result.map(url => {
      return url.url
    })
    AlertDialog.show({
      message: `上传图片后的结果:${tmp}`
    })
  }

  build(){
    Column(){
      NavBar({
        title: "ImageLoader图片上传"
      })
      ImageUploader({
        title: '文件预览',
        canUpload: true,
        imgBean: this.imgBean,
        maxSelectNumber: 3,
        onSelectImageChange: (bean: ImageBean[]) => {
          this.imgBean = bean
        },
        areaHeight: this.areaHeight
      })
        .layoutWeight(1)

      Button("提交", { type: ButtonType.Capsule })
        .backgroundColor($r('app.color.color_E56A54'))
        .fontColor(Color.White)
        .fontSize(16)
        .height(50)
        .width(125)
        .onClick(() => {
          this.submit()
        })

    }
    .height("100%")
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值