当前位置: 首页 > news >正文

贵州有网站的企业深圳创建公司注意事项

贵州有网站的企业,深圳创建公司注意事项,网站域名要怎样规划,建设部网站注册查询【HarmonyOS】 鸿蒙保存图片或视频到相册 前言 鸿蒙中保存图片或者视频#xff0c;或者其他媒体文件到设备的媒体库#xff0c;可以是相册#xff0c;也可以是文件管理等。共有两种方式#xff1a; 需要应用申请受限权限#xff0c;获取文件读写的权限#xff08;调用…【HarmonyOS】 鸿蒙保存图片或视频到相册 前言 鸿蒙中保存图片或者视频或者其他媒体文件到设备的媒体库可以是相册也可以是文件管理等。共有两种方式 需要应用申请受限权限获取文件读写的权限调用需要ohos.permission.READ_IMAGEVIDEO和ohos.permission.WRITE_IMAGEVIDEO的权限这样就可以将媒体资源图片or视频or等等保存到媒体库。通过安全控件用户触发后表示同意可以临时授权给应用就行保存处理。 关于第二种安全控件又分为saveButton保存按钮和showAssetsCreationDialog授权弹框两种形式。前者的按钮样式不能自定义所以后者以弹框的形式让用户操作触发入口的样式应用就可以自定义了。后者算是前者的一种替代补充。 一、保存图片和视频授权示例 需要申请ohos.permission.READ_IMAGEVIDEO和ohos.permission.WRITE_IMAGEVIDEO权限。该权限是管制权限需要你的应用去通过场景申请【申请使用受限权限】 配置权限READ_IMAGEVIDEOWRITE_IMAGEVIDEO requestPermissions: [{name: ohos.permission.READ_IMAGEVIDEO,usedScene: {abilities: [EntryAbility],when: inuse},reason: $string:CAMERA},{name: ohos.permission.WRITE_IMAGEVIDEO,usedScene: {abilities: [EntryAbility],when: inuse},reason: $string:CAMERA} ]向用户申请权限 // 创建申请权限明细async reqPermissionsFromUser(): Promisenumber[] {let context getContext() as common.UIAbilityContext;let atManager abilityAccessCtrl.createAtManager();let grantStatus await atManager.requestPermissionsFromUser(context, [ohos.permission.READ_IMAGEVIDEO,ohos.permission.WRITE_IMAGEVIDEO]);return grantStatus.authResults;}// 用户申请权限async requestPermission() {let grantStatus await this.reqPermissionsFromUser();for (let i 0; i grantStatus.length; i) {if (grantStatus[i] 0) {// 用户授权可以继续访问目标操作}}}保存图片到媒体库 public async savePicture(buffer: ArrayBuffer): Promisevoid {let helper : photoAccessHelper.PhotoAccessHelper photoAccessHelper.getPhotoAccessHelper(getContext(this) as common.UIAbilityContext);let options: photoAccessHelper.CreateOptions {title: Date.now().toString()};let photoUri: string await helper.createAsset(photoAccessHelper.PhotoType.IMAGE, jpg, options);console.info(photoUri)// createAsset的调用需要ohos.permission.READ_IMAGEVIDEO和ohos.permission.WRITE_IMAGEVIDEO的权限let file: fs.File fs.openSync(photoUri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);await fs.write(file.fd, buffer);fs.closeSync(file); }二、saveButton示例 import { photoAccessHelper } from kit.MediaLibraryKit;Entry Component struct saveButtonExample {saveButtonOptions: SaveButtonOptions {icon: SaveIconStyle.FULL_FILLED,text: SaveDescription.SAVE_IMAGE,buttonType: ButtonType.Capsule} // 设置安全控件按钮属性build() {Row() {Column() {SaveButton(this.saveButtonOptions) // 创建安全控件按钮.onClick(async (event, result: SaveButtonOnClickResult) {if (result SaveButtonOnClickResult.SUCCESS) {try {let context getContext();let phAccessHelper photoAccessHelper.getPhotoAccessHelper(context);// 需要确保fileUri对应的资源存在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(createAsset successfully, uri: assetChangeRequest.getAsset().uri);} catch (err) {console.error(create asset failed with error: ${err.code}, ${err.message});}} else {console.error(SaveButtonOnClickResult create asset failed);}})}.width(100%)}.height(100%)} }三、 showAssetsCreationDialog示例 import { photoAccessHelper } from kit.MediaLibraryKit; import { fileIo } from kit.CoreFileKit;let context getContext(this); let phAccessHelper photoAccessHelper.getPhotoAccessHelper(context);async function showAssetsCreationDialogExample() {try {// 指定待保存到媒体库的位于应用沙箱的图片urilet srcFileUri file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg;let srcFileUris: Arraystring [srcFileUri];// 指定待保存照片的创建选项包括文件后缀和照片类型标题和照片子类型可选let photoCreationConfigs: ArrayphotoAccessHelper.PhotoCreationConfig [{title: test, // 可选fileNameExtension: jpg,photoType: photoAccessHelper.PhotoType.IMAGE,subtype: photoAccessHelper.PhotoSubtype.DEFAULT, // 可选}];// 基于弹窗授权的方式获取媒体库的目标urilet desFileUris: Arraystring await phAccessHelper.showAssetsCreationDialog(srcFileUris, photoCreationConfigs);// 将来源于应用沙箱的照片内容写入媒体库的目标urilet desFile: fileIo.File await fileIo.open(desFileUris[0], fileIo.OpenMode.WRITE_ONLY);let srcFile: fileIo.File await fileIo.open(srcFileUri, fileIo.OpenMode.READ_ONLY);await fileIo.copyFile(srcFile.fd, desFile.fd);fileIo.closeSync(srcFile);fileIo.closeSync(desFile);console.info(create asset by dialog successfully);} catch (err) {console.error(failed to create asset by dialog successfully errCode is: ${err.code}, ${err.message});} }注意 1. 使用createAsset需要指定是视频还是图片 fileio.open并不校验文件内容 2. 使用createImageAssetRequest接口如果要保存视频需要用createVideoeAssetRequest 或者还可以直接使用createAssetRequest和addResource的方式
http://www.hkea.cn/news/14319423/

相关文章:

  • 站长工具爱站泰安网红餐厅
  • 苏州网站制作公司互联网平台建设方案
  • 网络营销的主要手段和策略东莞seo黑帽培训
  • 爱网是什么网站软件开发项目经验
  • 网站建设验收书深圳网站的公司
  • Wordpress也seo实训思考与总结
  • 中明建投建设集团 网站怎么做一个免费网站
  • 怎么给自己的网站做排名怎样建立公众号
  • 网站建站案例蔚县做网站
  • 网站建设丨找王科杰专业58同城推广
  • 影响网站排名重要因素python浪漫星空代码
  • 做网站p图工具东莞市网络seo推广哪家好
  • 做投票的网站赚钱嘛做网站ui设计多少钱
  • 杭州网络科技网站wordpress通栏图片插件
  • 计算机网站开发是什么专业阿里云网站备案拍照点
  • 做一家视频网站吗wordpress侧边栏字体修改
  • 网站建设相关标准网站建设福州最好
  • 效果好企业营销型网站建设公司wms仓储管理系统
  • 网站制作中的更多怎么做吉林网站优化
  • 博客系统做网站软装设计公司介绍
  • 免费网站的平台展展示型网站开发
  • 网站建设方案说明书福州云建站模版
  • 电影网站开发与设计上海金融网站建设
  • 如何降低网站相似度网站所有者是什么意思
  • 即墨医院网站制作公司公司做网站应记入哪个会计科目
  • 建筑业招聘网站百度企业网站建设
  • 大气网站源码上海中学排名
  • 游戏怎么做充值网站用新浪云做网站
  • 数据库里建设好的网站为什么外网进不去网站江苏有哪些做网站建设的公司
  • 网站设计与开发培训佛山网页设计师