HarmonyOS鸿蒙Next中如何使用imagePicker选择并预览图片?
HarmonyOS鸿蒙Next中如何使用imagePicker选择并预览图片? 如何调用系统相册选择图片并在Image组件中显示?
3 回复
使用@ohos.file.picker模块。需注意PhotoViewPicker返回的是临时URI,可直接赋值给Image。 示例代码:
import picker from '@ohos.file.picker';
import { BusinessError } from '@ohos.base';
/**
* @author J.query
* @date 2025/12/22 22:07
* @email j-query@foxmail.com
* Description:
*/
@Entry
@Component
struct ImagePickerDemo {
@State imageSrc: string = ''
build() {
Column() {
// 显示图片
if (this.imageSrc) {
Image(this.imageSrc)
.width(200)
.height(200)
.objectFit(ImageFit.Cover)
}
Button('选择图片')
.onClick(() => this.selectImage())
.margin(20)
}.width('100%').height('100%').justifyContent(FlexAlign.Center)
}
async selectImage() {
try {
let photoSelectOptions = new picker.PhotoSelectOptions();
photoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
photoSelectOptions.maxSelectNumber = 1;
let photoPicker = new picker.PhotoViewPicker();
let photoSelectResult = await photoPicker.select(photoSelectOptions);
if (photoSelectResult && photoSelectResult.photoUris && photoSelectResult.photoUris.length > 0) {
// 取第一个图片的URI
this.imageSrc = photoSelectResult.photoUris[0];
}
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`Failed to select image: Code is ${err.code}, message is ${err.message}`);
}
}
}
效果:点击按钮拉起相册,选中后图片显示在上方。

更多关于HarmonyOS鸿蒙Next中如何使用imagePicker选择并预览图片?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,使用@ohos.file.picker模块的PhotoViewPicker选择图片。调用select()方法启动选择器,通过PhotoSelectOptions配置选择参数(如选择数量)。返回的PhotoSelectResult对象包含所选图片的URI列表。使用<Image>组件并设置src为图片URI即可预览。注意申请ohos.permission.READ_IMAGEVIDEO权限。


