From ae56f5b46a7a4cf822e3a319415eb97c5cf60f51 Mon Sep 17 00:00:00 2001 From: ZhangQ <12903047+zq-kexin@user.noreply.gitee.com> Date: Tue, 9 Sep 2025 07:02:53 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=8D=95=E8=8E=B7?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ZhangQ <12903047+zq-kexin@user.noreply.gitee.com> --- entry/src/main/ets/utils/DecodeUtil.ets | 23 +++++++++++----- entry/src/main/ets/utils/EncodeUtil.ets | 35 ++++++++++++++++--------- 2 files changed, 38 insertions(+), 20 deletions(-) diff --git a/entry/src/main/ets/utils/DecodeUtil.ets b/entry/src/main/ets/utils/DecodeUtil.ets index d9ad2cd..f71a69b 100644 --- a/entry/src/main/ets/utils/DecodeUtil.ets +++ b/entry/src/main/ets/utils/DecodeUtil.ets @@ -17,6 +17,8 @@ import { fileIo } from '@kit.CoreFileKit'; import { image } from '@kit.ImageKit'; import Logger from './LoggerUtil'; import { CommonConstants } from '../common/constant/CommonConstants'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { BusinessError } from '@kit.BasicServicesKit'; const TAG: string = 'imageEdit_Decode'; @@ -26,13 +28,20 @@ const TAG: string = 'imageEdit_Decode'; * @return file fd. */ async function getResourceFd(component: UIContext) { - const context = component.getHostContext()!; - const resourceMgr = context.resourceManager; - let imageBuffer = await resourceMgr.getMediaContent($r("app.media.ic_low")) - let filePath = context.cacheDir + '/' + CommonConstants.RAW_FILE_NAME; - let file = fileIo.openSync(filePath, fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE); - fileIo.writeSync(file.fd, imageBuffer.buffer); - return file.fd; + let fd: number = 0; + try { + const context = component.getHostContext()!; + const resourceMgr = context.resourceManager; + let imageBuffer = await resourceMgr.getMediaContent($r("app.media.ic_low")) + let filePath = context.cacheDir + '/' + CommonConstants.RAW_FILE_NAME; + let file = fileIo.openSync(filePath, fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE); + fileIo.writeSync(file.fd, imageBuffer.buffer); + fd = file.fd; + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'GetResourceString', `getResourceString failed. code=${err.code}, message=${err.message}`); + } + return fd; } /** diff --git a/entry/src/main/ets/utils/EncodeUtil.ets b/entry/src/main/ets/utils/EncodeUtil.ets index d9fd69f..ea74ae3 100644 --- a/entry/src/main/ets/utils/EncodeUtil.ets +++ b/entry/src/main/ets/utils/EncodeUtil.ets @@ -18,6 +18,8 @@ import { fileIo } from '@kit.CoreFileKit'; import { image } from '@kit.ImageKit'; import Logger from './LoggerUtil'; import { CommonConstants } from '../common/constant/CommonConstants'; +import { BusinessError } from '@kit.BasicServicesKit'; +import { hilog } from '@kit.PerformanceAnalysisKit'; const TAG: string = 'imageEdit_Encode'; /** @@ -33,17 +35,24 @@ export async function encode(component: UIContext, pixelMap: PixelMap) { format: CommonConstants.ENCODE_FORMAT, quality: CommonConstants.ENCODE_QUALITY } - const imageData = await imagePackerApi.packToData(newPixelMap, packOptions); - Logger.info(TAG, `imageData's length is ${imageData.byteLength}`); - // Create image asset. - let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE; - let extension: string = 'jpg'; - const phAccessHelper = photoAccessHelper.getPhotoAccessHelper(component.getHostContext()); - phAccessHelper.createAsset(photoType, extension, (err, uri) => { - if (uri != undefined) { - let file = fileIo.openSync(uri, fileIo.OpenMode.READ_WRITE); - fileIo.writeSync(file.fd, imageData); - fileIo.close(file.fd); - } - }); + try { + const imageData = await imagePackerApi.packToData(newPixelMap, packOptions); + Logger.info(TAG, `imageData's length is ${imageData.byteLength}`); + // Create image asset. + let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE; + let extension: string = 'jpg'; + const phAccessHelper = photoAccessHelper.getPhotoAccessHelper(component.getHostContext()); + phAccessHelper.createAsset(photoType, extension, (err, uri) => { + if (uri != undefined) { + let file = fileIo.openSync(uri, fileIo.OpenMode.READ_WRITE); + fileIo.writeSync(file.fd, imageData); + fileIo.close(file.fd).catch(() => { + hilog.error(0x0000, TAG, `fileIo close failed. code=${err.code}, message=${err.message}`); + }); + } + }); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `createAsset failed. code=${err.code}, message=${err.message}`); + } } \ No newline at end of file -- Gitee From 27cb8b61f7ee87148f53a91ab14a3a62344070a5 Mon Sep 17 00:00:00 2001 From: ZhangQ <12903047+zq-kexin@user.noreply.gitee.com> Date: Tue, 23 Sep 2025 03:20:46 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=8D=95=E8=8E=B7?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ZhangQ <12903047+zq-kexin@user.noreply.gitee.com> --- build-profile.json5 | 1 + entry/src/main/ets/utils/DecodeUtil.ets | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build-profile.json5 b/build-profile.json5 index b3b0115..403004a 100644 --- a/build-profile.json5 +++ b/build-profile.json5 @@ -5,6 +5,7 @@ "name": "default", "signingConfig": "default", "compatibleSdkVersion": "5.0.5(17)", + "targetSdkVersion": "5.0.5(17)", "runtimeOS": "HarmonyOS" } ], diff --git a/entry/src/main/ets/utils/DecodeUtil.ets b/entry/src/main/ets/utils/DecodeUtil.ets index f71a69b..6a8d0ee 100644 --- a/entry/src/main/ets/utils/DecodeUtil.ets +++ b/entry/src/main/ets/utils/DecodeUtil.ets @@ -32,7 +32,7 @@ async function getResourceFd(component: UIContext) { try { const context = component.getHostContext()!; const resourceMgr = context.resourceManager; - let imageBuffer = await resourceMgr.getMediaContent($r("app.media.ic_low")) + let imageBuffer = await resourceMgr.getMediaContent($r("app.media.ic_low").id) let filePath = context.cacheDir + '/' + CommonConstants.RAW_FILE_NAME; let file = fileIo.openSync(filePath, fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE); fileIo.writeSync(file.fd, imageBuffer.buffer); -- Gitee