HarmonyOS 使用安全控件保存图片到本地失败
使用安全空间保存PixelMap格式的图片到本地时,api提示成功但相册里没有,此时给app进程终止(目前看必须这么做,否则相册没有图片),相册里就出现那张图片了。
操作步骤:
1、使用安全空间保存PixelMap格式的图片到本地。
import { util } from '@kit.ArkTS';
import { image } from '@kit.ImageKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { photoAccessHelper } from '@kit.MediaLibraryKit';
import { fileIo } from '@kit.CoreFileKit';
SaveButton(this.saveButtonOptions).onClick(async (event, result: SaveButtonOnClickResult) => {
if (result == SaveButtonOnClickResult.SUCCESS) {
let bs64Helper = new util.Base64Helper();
let base64: string = ''
let buffer: ArrayBuffer = bs64Helper.decodeSync(base64, util.Type.MIME).buffer as ArrayBuffer;
let imageSource = image.createImageSource(buffer);
let opts: image.DecodingOptions = { editable: true };
imageSource.createPixelMap(opts).then(async (pixelMap: image.PixelMap) => {
// 获取相册的保存路径
let contextThis: Context = getContext(this);
let paHelper = photoAccessHelper.getPhotoAccessHelper(contextThis);
let uri = await paHelper.createAsset(photoAccessHelper.PhotoType.IMAGE, 'jpeg');
let file = await fileIo.open(uri, fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE);
let imagePackerApi = image.createImagePacker();
let packOpts: image.PackingOption = { format: 'image/jpeg', quality: 98 };
imagePackerApi.packToFile(pixelMap, file.fd, packOpts, (error: BusinessError) => {
if (error) {
console.log(JSON.stringify(error))
} else {
console.log('成功')
}
})
}).catch((error: BusinessError) => {
console.log(JSON.stringify(error))
})
}
})
2、弹出的安全控件保存图片后packToFile没有错误信息但相册也没有图片,接下来只要app杀进程图片就立刻出现在相册里。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 安全控件的保存控件SaveButton保存图片到相册失败
1140浏览 • 1回复 待解决
HarmonyOS 使用安全控件保存图片,授权一直失败
821浏览 • 1回复 待解决
如何使用安全控件SaveButton进行图片的快速保存
3752浏览 • 1回复 待解决
HarmonyOS 如何通过安全控件保存视频到相册
761浏览 • 1回复 待解决
HarmonyOS 保存图片到本地相册
1400浏览 • 1回复 待解决
HarmonyOS 手写签名,并保存图片到本地
842浏览 • 1回复 待解决
如何保存本地图片到相册中
2724浏览 • 1回复 待解决
如何保存http网络图片到本地
1266浏览 • 1回复 待解决
HarmonyOS 图片保存失败
1124浏览 • 1回复 待解决
HarmonyOS 安全控件使用
805浏览 • 1回复 待解决
HarmonyOS 使用安全控件保存视频偶现弹出无相册权限
629浏览 • 1回复 待解决
HarmonyOS H5页面保存图片到本地相册
1081浏览 • 1回复 待解决
HarmonyOS 安全控件使用问题
1186浏览 • 1回复 待解决
HarmonyOS 保存图片到本地一直报without medialibrary permission
1841浏览 • 1回复 待解决
HarmonyOS 截图保存图片到相册
1140浏览 • 1回复 待解决
HarmonyOS 实现保存图片到相册
1555浏览 • 1回复 待解决
HarmonyOS 无法使用受限权限,怎么保存图片到图库中去
1124浏览 • 1回复 待解决
HarmonyOS 保存图片到系统相册
1471浏览 • 1回复 待解决
HarmonyOS 保存图片到相册问题
1717浏览 • 1回复 待解决
HarmonyOS base64格式的图片数据如何保存文件到本地相册?
3598浏览 • 1回复 待解决
HarmonyOS SaveButton保存图片授权失败
1192浏览 • 1回复 待解决
HarmonyOS 如何使用canvas绘制(颜色或者图片)为背景图片,网络图片为src并使用保存的控件保存到相册
1195浏览 • 1回复 待解决
如何保存网络图片到相册
2063浏览 • 1回复 待解决
HarmonyOS 安全控件无法在弹窗中使用
1691浏览 • 1回复 待解决
HarmonyOS 保存图片到相册权限问题
1430浏览 • 1回复 待解决
将图片写入文件后,还需要调用fs.close触发媒体库扫描,这样才能及时在相册里看到刚保存的图片。