> 文档中心 > HarmonyOS如何选择图片

HarmonyOS如何选择图片

HarmonyOS如何选择图片

单图:

```js

let startParmameter = {

bundleName:"com.ohos.photos",

abilityName: "com.ohos.photos.MainAbility",

parameters: {

uri: "singleselect"

}

};

this.context.startAbilityForResult(startParmameter).then((result) => {

console.info(`startAbilityForResult Promise.resolve is called, result.resultCode = ${JSON.stringify(result)}`)

let want = result['want'];

console.info(`test select single ${JSON.stringify(want)}`);

if (want != null && want != undefined) {

let param = want['parameters'];

console.info(`test select single ${JSON.stringify(param)}`);

if (param != null && param != undefined) {

let uri = param['select-item-list'];

console.info(`test select single ${uri}`);

}

}

}, (error) => {

console.info(`startAbilityForResult Promise.Reject is called, error.code = ${error.code}`)

})

```

多图

```js

let startParmameter = {

bundleName:"com.ohos.photos",

abilityName: "com.ohos.photos.MainAbility",

parameters: {

uri: "multipleselect"

}

};

this.context.startAbilityForResult(startParmameter).then((v) => {

let want = v['want'];

console.info(`test select multiple ${want}`);

if (want != null && want != undefined) {

let param = want['parameters'];

console.info(`test select multiple ${param}`);

if (param != null && param != undefined) {

let uri = param['select-item-list'];

console.info(`test select multiple ${uri[0]} ${uri[1]}`);

}

}

}, (error) => {

console.debug(`startAbility failed, error: ${JSON.stringify(error)}`);

})

```

如何进行大图预览:

```js

this.context.startAbility({

bundleName:"com.ohos.photos",

abilityName: "com.ohos.photos.MainAbility",

parameters: {

uri: "photodetail"

}

}).then((data) => {

console.debug('startAbility complete');

}).catch((error) => {

console.debug(`startAbility failed, error: ${JSON.stringify(error)}`);

})

```

完整代码:

```js

import mediaLibrary from '@ohos.multimedia.mediaLibrary';

import Ability from '@ohos.application.Ability';

import AbilityStage from "@ohos.application.AbilityStage";

import context from '@ohos.application.context';

@Entry

@Component

struct Index {

@State message: string = 'Hello World'

@State img: string = ''

build() {

Row() {

Column() {

Text(this.message)

.fontSize(50)

.fontWeight(FontWeight.Bold).onClick(()=>{

let context = getContext(this) as any

let startParmameter = {

bundleName:"com.ohos.photos",

abilityName: "com.ohos.photos.MainAbility",

parameters: {

uri: "singleselect"

}

};

context.startAbilityForResult(startParmameter).then((result) => {

console.info(`startAbilityForResult Promise.resolve is called, result.resultCode = ${JSON.stringify(result)}`)

let want = result['want'];

console.info(`test select single ${JSON.stringify(want)}`);

if (want != null && want != undefined) {

let param = want['parameters'];

console.info(`test select single ${JSON.stringify(param)}`);

if (param != null && param != undefined) {

let uri = param['select-item-list'];

this.img=param['select-item-list'];

console.info(`图片路径是 ${uri}`);

}

}

}, (error) => {

console.info(`startAbilityForResult Promise.Reject is called, error.code = ${error.code}`)

})

})

Image(this.img).width(50).height(50)

.width('100%')

}

.height('100%')

}

}}

```

参考:https://gitee.com/openharmony/applications_photos#4-%E5%85%B8%E5%9E%8B%E6%8E%A5%E5%8F%A3%E7%9A%84%E4%BD%BF%E7%94%A8