Class (MediaAssetChangeRequest)
MediaAssetChangeRequest implements MediaChangeRequest.
MediaAssetChangeRequest represents a media asset change request.
NOTE
- The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
- The initial APIs of this class are supported since API version 11.
Modules to Import
import { photoAccessHelper } from '@kit.MediaLibraryKit';
Attributes
Model restriction: This API can be used only in the stage model.
Atomic service API: This API can be used in atomic services since API version 23.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
| Name | Type | Read-Only | Optional | Description |
|---|---|---|---|---|
| comment23+ | string | Yes | No | Used to verify the MediaChangeRequest type. If a class (such as MediaAssetChangeRequest) object can be accessed, it is an implementation class of MediaChangeRequest. |
constructor11+
constructor(asset: PhotoAsset)
Constructor used to initialize an asset change request.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| asset | PhotoAsset | Yes | Assets to change. |
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 14000011 | System inner fail. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('MediaAssetChangeRequest constructorDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(photoAsset);
}
createImageAssetRequest11+
static createImageAssetRequest(context: Context, fileUri: string): MediaAssetChangeRequest
Creates an image asset change request.
For details about data source of the asset to be created, see @ohos.file.fileuri (File URI).
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| context | Context | Yes | Context of the ability instance. |
| fileUri | string | Yes | Data source of the image asset, which is specified by a URI in the application sandbox directory. Example: 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg'. |
Return value
| Type | Description |
|---|---|
| MediaAssetChangeRequest | MediaAssetChangeRequest created. |
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 13900002 | The file corresponding to the URI is not in the app sandbox. |
| 14000011 | System inner fail. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper, context: Context) {
console.info('createImageAssetRequestDemo');
try {
// Ensure that the asset specified by fileUri exists.
let fileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg';
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createImageAssetRequest(context, fileUri);
await phAccessHelper.applyChanges(assetChangeRequest);
console.info('apply createImageAssetRequest successfully');
} catch (err) {
console.error(`createImageAssetRequestDemo failed with error: ${err.code}, ${err.message}`);
}
}
createVideoAssetRequest11+
static createVideoAssetRequest(context: Context, fileUri: string): MediaAssetChangeRequest
Creates a video asset change request.
For details about data source of the asset to be created, see @ohos.file.fileuri (File URI).
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| context | Context | Yes | Context of the ability instance. |
| fileUri | string | Yes | Data source of the video asset, which is specified by a URI in the application sandbox directory. Example: 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.mp4'. |
Return value
| Type | Description |
|---|---|
| MediaAssetChangeRequest | MediaAssetChangeRequest created. |
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 13900002 | The file corresponding to the URI is not in the app sandbox. |
| 14000011 | System inner fail. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper, context: Context) {
console.info('createVideoAssetRequestDemo');
try {
// Ensure that the asset specified by fileUri exists.
let fileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.mp4';
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createVideoAssetRequest(context, fileUri);
await phAccessHelper.applyChanges(assetChangeRequest);
console.info('apply createVideoAssetRequest successfully');
} catch (err) {
console.error(`createVideoAssetRequestDemo failed with error: ${err.code}, ${err.message}`);
}
}
createAssetRequest11+
static createAssetRequest(context: Context, photoType: PhotoType, extension: string, options?: CreateOptions): MediaAssetChangeRequest
Create an asset change request based on the file type and filename extension.
Atomic service API: This API can be used in atomic services since API version 11.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| context | Context | Yes | Context of the ability instance. |
| photoType | PhotoType | Yes | Type of the file to create, which can be IMAGE or VIDEO. |
| extension | string | Yes | File name extension, for example, 'jpg'. |
| options | CreateOptions | No | Options for creating the image or video asset, for example, {title: 'testPhoto'}. The file name must not contain any invalid characters, which are:.. \ / : * ? " ' ` < > |{ } [ ] |
Return value
| Type | Description |
|---|---|
| MediaAssetChangeRequest | MediaAssetChangeRequest created. |
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 14000011 | System inner fail. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper, context: Context) {
console.info('createAssetRequestDemo');
try {
let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE;
let extension: string = 'jpg';
let options: photoAccessHelper.CreateOptions = {
title: 'testPhoto'
}
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createAssetRequest(context, photoType, extension, options);
// Ensure that the asset specified by fileUri exists.
let fileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg';
assetChangeRequest.addResource(photoAccessHelper.ResourceType.IMAGE_RESOURCE, fileUri);
await phAccessHelper.applyChanges(assetChangeRequest);
console.info('apply createAssetRequest successfully');
} catch (err) {
console.error(`createAssetRequestDemo failed with error: ${err.code}, ${err.message}`);
}
}
deleteAssets11+
static deleteAssets(context: Context, assets: Array<PhotoAsset>): Promise<void>
Deletes media assets. The deleted assets are moved to the trash. This API uses a promise to return the result.
Required permissions: ohos.permission.WRITE_IMAGEVIDEO
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| context | Context | Yes | Context of the ability instance. |
| assets | Array<PhotoAsset> | Yes | Array of media assets to delete. The array can contain a maximum of 300 elements. System applications are not subject to this limitation. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise that returns no value. |
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 201 | Permission denied. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 14000011 | System inner fail. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper, context: Context) {
console.info('deleteAssetsDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
let photoAssetList: Array<photoAccessHelper.PhotoAsset> = await fetchResult.getAllObjects();
await photoAccessHelper.MediaAssetChangeRequest.deleteAssets(context, photoAssetList);
console.info('deleteAssets successfully');
} catch (err) {
console.error(`deleteAssetsDemo failed with error: ${err.code}, ${err.message}`);
}
}
deleteAssets11+
static deleteAssets(context: Context, uriList: Array<string>): Promise<void>
Deletes media assets. The deleted assets are moved to the trash. This API uses a promise to return the result.
Required permissions: ohos.permission.WRITE_IMAGEVIDEO
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| context | Context | Yes | Context of the ability instance. |
| uriList | Array<string> | Yes | URIs of the media assets to delete. The array can contain a maximum of 300 elements. System applications are not subject to this limitation. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise that returns no value. |
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 201 | Permission denied. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 14000002 | The uri format is incorrect or does not exist. |
| 14000011 | System inner fail. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper, context: Context) {
console.info('deleteAssetsDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
await photoAccessHelper.MediaAssetChangeRequest.deleteAssets(context, [asset.uri]);
console.info('deleteAssets successfully');
} catch (err) {
console.error(`deleteAssetsDemo failed with error: ${err.code}, ${err.message}`);
}
}
getAsset11+
getAsset(): PhotoAsset
Obtains the asset in this asset change request.
NOTE
For the change request used to create an asset, this API returns null before applyChanges is called to apply the changes.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Return value
| Type | Description |
|---|---|
| PhotoAsset | Asset obtained. |
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
| 14000011 | System inner fail. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper, context: Context) {
console.info('getAssetDemo');
try {
// Ensure that the asset specified by fileUri exists.
let fileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg';
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createImageAssetRequest(context, fileUri);
await phAccessHelper.applyChanges(assetChangeRequest);
let asset: photoAccessHelper.PhotoAsset = assetChangeRequest.getAsset();
console.info('create asset successfully with uri = ' + asset.uri);
} catch (err) {
console.error(`getAssetDemo failed with error: ${err.code}, ${err.message}`);
}
}
setTitle11+
setTitle(title: string): void
Sets the media asset title.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| title | string | Yes | Title to set. |
The title must meet the following requirements:
- It must not contain a file name extension.
- The total length of the file name must be between 1 and 255 characters.
- It must not contain any invalid characters, which are:
. \ / : * ? " ' ` < >|{ } [ ]
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 14000011 | System inner fail. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
import { dataSharePredicates } from '@kit.ArkData';
import { BusinessError } from '@kit.BasicServicesKit';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('setTitleDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
let asset = await fetchResult.getFirstObject();
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
let newTitle: string = 'newTitle';
assetChangeRequest.setTitle(newTitle);
phAccessHelper.applyChanges(assetChangeRequest).then(() => {
console.info('apply setTitle successfully');
}).catch((err: BusinessError) => {
console.error(`apply setTitle failed with error: ${err.code}, ${err.message}`);
});
}
getWriteCacheHandler11+
getWriteCacheHandler(): Promise<number>
Obtains the handler used for writing a file to cache. This API uses a promise to return the result.
NOTE
For the same asset change request, this API cannot be repeatedly called after a temporary file write handle is successfully obtained.
Required permissions: ohos.permission.WRITE_IMAGEVIDEO
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Return value
| Type | Description |
|---|---|
| Promise<number> | Promise used to return the write handle obtained. |
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 201 | Permission denied. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
| 14000011 | System inner fail. |
| 14000016 | Operation Not Support. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
import { fileIo } from '@kit.CoreFileKit';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper, context: Context) {
console.info('getWriteCacheHandlerDemo');
try {
let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.VIDEO;
let extension: string = 'mp4';
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createAssetRequest(context, photoType, extension);
let fd: number = await assetChangeRequest.getWriteCacheHandler();
console.info('getWriteCacheHandler successfully');
// write data into fd..
await fileIo.close(fd);
await phAccessHelper.applyChanges(assetChangeRequest);
} catch (err) {
console.error(`getWriteCacheHandlerDemo failed with error: ${err.code}, ${err.message}`);
}
}
addResource11+
addResource(type: ResourceType, fileUri: string): void
Adds resources from the application sandbox based on the file URI. For details about the data source, see @ohos.file.fileuri (File URI).
NOTE
For the same asset change request, this API cannot be repeatedly called after the resource is successfully added. For a moving photo, you can call this API twice to add the image and video resources.
Atomic service API: This API can be used in atomic services since API version 11.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | ResourceType | Yes | Type of the resource to add. |
| fileUri | string | Yes | Data source of the resource to be added, which is specified by a URI in the application sandbox directory. Example: 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg'. |
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 13900002 | The file corresponding to the URI is not in the app sandbox. |
| 14000011 | System inner fail. |
| 14000016 | Operation Not Support. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper, context: Context) {
console.info('addResourceByFileUriDemo');
try {
let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE;
let extension: string = 'jpg';
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createAssetRequest(context, photoType, extension);
// Ensure that the asset specified by fileUri exists.
let fileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg';
assetChangeRequest.addResource(photoAccessHelper.ResourceType.IMAGE_RESOURCE, fileUri);
await phAccessHelper.applyChanges(assetChangeRequest);
console.info('addResourceByFileUri successfully');
} catch (err) {
console.error(`addResourceByFileUriDemo failed with error: ${err.code}, ${err.message}`);
}
}
addResource11+
addResource(type: ResourceType, data: ArrayBuffer): void
Adds a resource using ArrayBuffer data.
NOTE
For the same asset change request, this API cannot be repeatedly called after the resource is successfully added. For a moving photo, you can call this API twice to add the image and video resources.
Atomic service API: This API can be used in atomic services since API version 11.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | ResourceType | Yes | Type of the resource to add. |
| data | ArrayBuffer | Yes | Data of the resource to add. |
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 14000011 | System inner fail. |
| 14000016 | Operation Not Support. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper, context: Context) {
console.info('addResourceByArrayBufferDemo');
try {
let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE;
let extension: string = 'jpg';
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createAssetRequest(context, photoType, extension);
let buffer: ArrayBuffer = new ArrayBuffer(2048);
assetChangeRequest.addResource(photoAccessHelper.ResourceType.IMAGE_RESOURCE, buffer);
await phAccessHelper.applyChanges(assetChangeRequest);
console.info('addResourceByArrayBuffer successfully');
} catch (err) {
console.error(`addResourceByArrayBufferDemo failed with error: ${err.code}, ${err.message}`);
}
}
saveCameraPhoto12+
saveCameraPhoto(): void
Saves the photo taken by the camera.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Error codes
For details about the error codes, see File Management Error Codes.
| ID | Error Message |
|---|---|
| 14000011 | System inner fail. |
| 14000016 | Operation Not Support. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper, asset: photoAccessHelper.PhotoAsset) {
console.info('saveCameraPhotoDemo');
try {
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
assetChangeRequest.saveCameraPhoto();
await phAccessHelper.applyChanges(assetChangeRequest);
console.info('apply saveCameraPhoto successfully');
} catch (err) {
console.error(`apply saveCameraPhoto failed with error: ${err.code}, ${err.message}`);
}
}
saveCameraPhoto13+
saveCameraPhoto(imageFileType: ImageFileType): void
Saves the photo taken by the camera.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| imageFileType | ImageFileType | Yes | File type of the photo to save. |
Error codes
For details about the error codes, see File Management Error Codes.
| ID | Error Message |
|---|---|
| 14000011 | System inner fail. |
| 14000016 | Operation Not Support. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
import { dataSharePredicates } from '@kit.ArkData';
import { image } from '@kit.ImageKit';
async function example(context: Context, asset: photoAccessHelper.PhotoAsset) {
console.info('saveCameraPhotoDemo');
try {
let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
assetChangeRequest.saveCameraPhoto(photoAccessHelper.ImageFileType.JPEG);
await phAccessHelper.applyChanges(assetChangeRequest);
console.info('apply saveCameraPhoto successfully');
} catch (err) {
console.error(`apply saveCameraPhoto failed with error: ${err.code}, ${err.message}`);
}
}
discardCameraPhoto12+
discardCameraPhoto(): void
Discards the photo taken by the camera.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Error codes
For details about the error codes, see File Management Error Codes.
| ID | Error Message |
|---|---|
| 14000011 | Internal system error. |
| 14000016 | Operation Not Support. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper, asset: photoAccessHelper.PhotoAsset) {
console.info('discardCameraPhotoDemo');
try {
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
assetChangeRequest.discardCameraPhoto();
await phAccessHelper.applyChanges(assetChangeRequest);
console.info('apply discardCameraPhoto successfully');
} catch (err) {
console.error(`apply discardCameraPhoto failed with error: ${err.code}, ${err.message}`);
}
}
setOrientation15+
setOrientation(orientation: number): void
Sets the orientation of this image.
System capability: SystemCapability.FileManagement.PhotoAccessHelper.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| orientation | number | Yes | Rotation angle of the image to set. The value can only be 0, 90, 180, or 270. |
Error codes
For details about the error codes, see Universal Error Codes and File Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 14000011 | Internal system error. |
Example
For details about how to create a phAccessHelper instance, see the example provided in photoAccessHelper.getPhotoAccessHelper.
import { dataSharePredicates } from '@kit.ArkData';
import { BusinessError } from '@kit.BasicServicesKit';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('setOrientationDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
let asset = await fetchResult.getFirstObject();
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
assetChangeRequest.setOrientation(90);
phAccessHelper.applyChanges(assetChangeRequest).then(() => {
console.info('apply setOrientation successfully');
}).catch((err: BusinessError) => {
console.error(`apply setOrientation failed with error: ${err.code}, ${err.message}`);
});
}
你可能感兴趣的鸿蒙文章
openharmony 鸿蒙 capi-mediaassetmanager-oh-mediaassetmanager
openharmony 鸿蒙 arkts-apis-photoAccessHelper-MediaAssetProgressHandler
openharmony 鸿蒙 arkts-apis-photoAccessHelper-AbsAlbum
openharmony 鸿蒙 arkts-apis-photoAccessHelper-PhotoAccessHelper
openharmony 鸿蒙 arkts-apis-photoAccessHelper-QuickImageDataHandler
openharmony 鸿蒙 capi-media-access-helper-capi-h
openharmony 鸿蒙 arkts-apis-photoAccessHelper-PhotoAsset
openharmony 鸿蒙 capi-mediaassetmanager-oh-movingphoto
openharmony 鸿蒙 capi-mediaassetmanager
openharmony 鸿蒙 capi-mediaassetmanager-medialibrary-requestid