评论

鸿蒙Next,图片上传02-拿到选择的照片

鸿蒙

 1点击上传,弹出图片选择器



使用selectImage实现如下



​编辑



示例代码如下(已经包含详细讲解):




import { photoAccessHelper } from '@kit.MediaLibraryKit';
import { picker } from '@kit.CoreFileKit';

@Entry
@Component
struct Index {

  // 弹出相册选择器
  selectImage () {
    // 创建一个 photoAccessHelper 模块中的 PhotoViewPicker 实例,用于调用图片选择器
    const photoPicker = new photoAccessHelper.PhotoViewPicker();
    // 调用 photoPicker 的 select 方法,开启图片选择功能
    photoPicker.select({
      // 设置选择的文件类型为图片,picker.PhotoViewMIMETypes.IMAGE_TYPE 是一个表示图片类型的常量
      MIMEType: picker.PhotoViewMIMETypes.IMAGE_TYPE,
      // 设置最多可以选择的图片数量为 3 张
      maxSelectNumber: 3
    })
  }
  build() {
    Column(){
      Button('点击上传')
        .onClick(()=>{
          this.selectImage()
        })
    }
  }
}





2. 将图片选择数量设置为可选(选做,不影响下列操作)



示例如下:



​编辑



3.获取选择后的图片列表



接收返回的选择图片列表



​编辑



完整项目示例代码如下:




import { photoAccessHelper } from '@kit.MediaLibraryKit';
import { picker } from '@kit.CoreFileKit';

@Entry
@Component
struct Index {
  maxNumber:number=3
  // 弹出相册选择器
  // 弹出相册选择器
  async selectImage () {
    // 创建一个 photoAccessHelper 模块中的 PhotoViewPicker 实例,用于调用图片选择器
    let photoPicker = new photoAccessHelper.PhotoViewPicker();
    // 调用 photoPicker 的 select 方法,开启图片选择功能 另接收数据
    const result = await photoPicker.select({
      MIMEType: picker.PhotoViewMIMETypes.IMAGE_TYPE,
      maxSelectNumber: this.maxNumber
    })
    //这里写你们自己要传的服务器。我就写一个弹窗提示好了 (临时路径要传到我们自己的服务器)
    AlertDialog.show({
      message: JSON.stringify(result.photoUris)
    })
  }
  build() {
    Column(){
      Button('点击上传')
        .onClick(()=>{
          this.selectImage()
        })
    }
  }
}





适用HarmonyOS NEXT / API12或以上版本


最后一次编辑于  03-19  
点赞 0
收藏
评论
登录 后发表内容