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或以上版本