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

贵阳网站建设建网站卖饮料

贵阳网站建设,建网站卖饮料,google关键词推广,甘肃第三建设集团公司把一个base64图片 保存到鸿蒙手机 相册中怎么实现呢? 下面有2中方法 方案一:可以通过安全控件「保存控件(SaveButton)」实现。该控件对应媒体库写入特权。应用集成保存控件后,用户点击该控件,应用会获取1…

把一个base64图片 保存到鸿蒙手机 相册中怎么实现呢?

下面有2中方法

方案一:可以通过安全控件「保存控件(SaveButton)」实现。该控件对应媒体库写入特权。应用集成保存控件后,用户点击该控件,应用会获取10秒内单次访问媒体库特权接口的授权。

参考代码:

import { photoAccessHelper } from '@kit.MediaLibraryKit';
import fs from '@ohos.file.fs';
import { http } from '@kit.NetworkKit';
import { promptAction } from '@kit.ArkUI';/** * 参考资料: * https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/photoaccesshelper-resource-guidelines-0000001774280306-V5#ZH-CN_TOPIC_0000001881258417__使用安全控件创建媒体资源 */
@Entry
@Component
struct Index {@State message: string = 'Hello World'@State saveButtonOptions: SaveButtonOptions = {icon: SaveIconStyle.FULL_FILLED,text: SaveDescription.SAVE_IMAGE,buttonType: ButtonType.Capsule}// 设置安全控件按钮属性build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)SaveButton(this.saveButtonOptions)// 创建安全控件按钮.onClick(async (event, result: SaveButtonOnClickResult) => {if (result == SaveButtonOnClickResult.SUCCESS) {let context = getContext();//获取相册管理模块的实例,用于访问和修改相册中的媒体文件 let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context); // onClick触发后10秒内通过createAsset接口创建图片文件,10秒后createAsset权限收回let uri = await phAccessHelper.createAsset(photoAccessHelper.PhotoType.IMAGE, 'jpg');// 创建媒体文件console.info('createAsset successfully, uri: ' + uri);let file = fs.openSync(uri, fs.OpenMode.READ_WRITE || fs.OpenMode.CREATE);let totalSize = 0;let httpRequest = http.createHttp();httpRequest.on("dataReceive", (data: ArrayBuffer) => {let writeLen = fs.writeSync(file.fd, data);totalSize = totalSize + writeLen;});httpRequest.requestInStream('https://developer.huawei.com/allianceCmsResource/resource/HUAWEI_Developer_VUE/images/homeNew/next- pc.png',{ method: http.RequestMethod.GET, connectTimeout: 3000, }, httpCode => {console.info('requestInStream HTTP CODE is', httpCode)})httpRequest.on("dataEnd", () => {fs.close(file);promptAction.showDialog({ title: "下载图片结束,并保存至相册", message: `图片大小:${totalSize}字节` })})} else {console.error('SaveButtonOnClickResult create asset failed');}})}.width('100%')}.height('100%')}
}

方案二:通过申请ACL权限。需要在module.json5文件中配置ohos.permission.WRITE_IMAGEVIDEO权限。类似这样: { // 允许修改用户公共目录的图片或视频文件。 "name": "ohos.permission.WRITE_IMAGEVIDEO", "reason": "$string:internet_permission_reason", "usedScene": { "when": "always" } }

import { abilityAccessCtrl, common } from '@kit.AbilityKit';import { photoAccessHelper } from '@kit.MediaLibraryKit';import fs from '@ohos.file.fs';import { http } from '@kit.NetworkKit';import { promptAction } from '@kit.ArkUI';@Entry@Component struct Index {@State message: string = 'Hello World'private appContext: common.Context = getContext(this);private atManager = abilityAccessCtrl.createAtManager();build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)Button("保存图片").margin({ top: 10 }).onClick(async (event: ClickEvent) => { //申请权限并保存图片到图库try { //申请相册管理模块权限'ohos.permission.WRITE_IMAGEVIDEO' this.atManager.requestPermissionsFromUser(this.appContext, [ 'ohos.permission.WRITE_IMAGEVIDEO' ]).then(async () => { //权限申请成功,保存到图库let context = getContext();//获取相册管理模块的实例,用于访问和修改相册中的媒体文件let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context); // onClick触发后10秒内通过createAsset接口创建图片文件,10秒后createAsset权限收回let uri = await phAccessHelper.createAsset(photoAccessHelper.PhotoType.IMAGE, 'jpg');// 创建媒体文件console.info('createAsset successfully, uri: ' + uri);let file = fs.openSync(uri, fs.OpenMode.READ_WRITE || fs.OpenMode.CREATE);let totalSize = 0;let httpRequest = http.createHttp();httpRequest.on("dataReceive", (data: ArrayBuffer) => {let writeLen = fs.writeSync(file.fd, data); totalSize = totalSize + writeLen; });httpRequest.requestInStream('https://developer.huawei.com/allianceCmsResource/resource/HUAWEI_Developer_VUE/images/homeNew/next- pc.png',{ method: http.RequestMethod.GET, connectTimeout: 3000, }, httpCode => {console.info('requestInStream HTTP CODE is', httpCode) })httpRequest.on("dataEnd", () => { fs.close(file);promptAction.showDialog({ title: "下载图片结束,并保存至相册", message: `图片大小:${totalSize}字节` }) }) }) } catch (err) { console.error(`requestPermissionsFromUser call Failed! error: ${err.code}`); } }) }.width('100%') }.height('100%') } 
}

http://www.yayakq.cn/news/241766/

相关文章:

  • 广州企业建站模板wordpress进不去数据库
  • 阿里巴巴网站规划花都网站(建设信科网络)
  • 国外科技网站欣赏企业电器网站建设方案
  • 分类信息系统网站模板网络营销网站源码
  • 网站建设淘宝客模板南宁网站制作开发公司
  • 制作网站建设规划书的结构为网络营销网络推广
  • 企业网站的建设多少钱省建设厅官方网站
  • 泉州网站建设手机张楚岚
  • 网站开发公司取名wordpress摘要图片
  • 合肥网站制作网站创建私人网站
  • wordpress主题point衡阳网站seo
  • 嘉盛集团官方网站土特产网站建设状况
  • 那个网站卖做防水的烤枪网页设计培训学些什么
  • 制作网站开发公司梵克雅宝中国官网旗舰店
  • 公司网站英文域名在哪查网页查询系统
  • 哪个地方网站建设的公司多手把手教你转移wordpress
  • 河南做网站公司网站关键词设定
  • 建网站需要什么资料视觉设计的特点和优势
  • 天津做网站的企业wordpress企业网站cms
  • 泉州网站建设服务上海网络推广公司外包
  • 企业网站建设需求文档个人简约网站模板免费下载
  • wordpress调用搜索结果外链seo服务
  • 深圳自适应网站开发多少钱服装定制营销
  • 哪里有做微商网站重庆梁平网站建设报价
  • 西安网站托管公司招聘企业seo如何优化
  • 织梦做的网站快照被攻击惠州附近公司做网站建设多少钱
  • 爱网站搭建店面设计费用
  • 湖北手机网站制作百度站长怎样添加网站
  • 数据可视化网站模板石家庄 外贸网站建设公司排名
  • python 做 网站自适应平台网站模板