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

mp3网站源码郑州有没有厉害的seo

mp3网站源码,郑州有没有厉害的seo,网站开发需求预算,wordpress博客页面显示文章在哪本文介绍如何保存Base64的文件到Download下 参考文档地址: 保存用户文件-Harmony Next 用到的是DOWNLOAD模式保存文件 用户在使用save接口时,可以将pickerMode配置为DOWNLOAD模式,该模式下会拉起授权接口,用户确认后会在公共路径…

本文介绍如何保存Base64的文件到Download下

参考文档地址:

保存用户文件-Harmony Next

用到的是DOWNLOAD模式保存文件

用户在使用save接口时,可以将pickerMode配置为DOWNLOAD模式,该模式下会拉起授权接口,用户确认后会在公共路径download目录下创建用户当前hap包名的文件夹,并通过save接口返回值回传相应的URI,后续用户可以直接将文件保存在该URI下。

本文里面的Base64Utils和JSONutils都是来自于:

@pura/harmony-utils 1.0.2

参考代码如下

 param ="{\"dataBase64\":\"data:audio/midi;base64,TVRoZAAAAAYAAQACAeBNVHJrAAAAIQD/UQMLcbAA/1kCAAAA/1gEBAIYCAD/AQR0dHR0AP8vAE1UcmsAAACrAMAAALB5AACwQAAAsFswALAKQACwB2QAkEdpgXCARwAAkEdVgXCARwAAkEdfgXCARwAAkEdVgXCARwAAkEBfgXCAQAAAkEVVgXCARQAAkD5fgXCAPgAAkENVgXCAQwAAkEdfgXCARwAAkEdVgXCARwAAkEdfgXCARwAAkEdVgXCARwAAkEBfgXCAQAAAkENVgXCAQwAAkEBfgXCQRVUDgEAAgXCARQAA/y8A\",\"fileType\":\"midi\",\"fileName\":\"tttt\"}"if (StringUtils.isStrNotBlank(param)) {const h5CallBackBean: H5CallBackBean | null = JSONUtil.jsonToBean<H5CallBackBean>(H5CallBackBean, param)if (h5CallBackBean) {if ('midi' == h5CallBackBean.fileType) {const fileBase64 = h5CallBackBean.dataBase64if (StringUtils.isStrNotBlank(fileBase64)) {const base64: string = fileBase64.split(",")[1]const numTemp: number = DateUtil.getTodayTime()let uri: string = '';// 请确保 getContext(this) 返回结果为 UIAbilityContextlet context = getContext(this) as common.Context;const documentViewPicker = new picker.DocumentViewPicker(context);const documentSaveOptions = new picker.DocumentSaveOptions();documentSaveOptions.pickerMode = picker.DocumentPickerMode.DOWNLOAD;// documentSaveOptions.newFileNames = [numTemp + '.midi']documentViewPicker.save(documentSaveOptions).then((documentSaveResult: Array<string>) => {if (documentSaveResult.length>0) {uri = documentSaveResult[0];console.info('documentViewPicker.save succeed and uri is:' + uri);//得到uri后,需要使用FileUri做一层转换,才可以做后续读写的操作let path: string = new fileUri.FileUri(uri).path//得到path后拼接文件名let filePath: string = `${path}/${numTemp}.midi`;if (StringUtils.isStrNotBlank(filePath)) {if (UiUtils.saveBase64File(base64,filePath)) {ToastUtil.showToast("保存成功")}}
}}).catch((err: BusinessError) => {console.error(`Invoke documentViewPicker.save failed, code is ${err.code}, message is ${err.message}`);})}}}/***保存base64文件** @param context上下文* @param base64base64文件内容* @param filePath文件路径* @returns是否保存成功*/public static saveBase64File(base64: string, filePath: string): boolean {if (!base64 || !filePath) {return false;}const imageBuffer = Base64Util.decodeSync(base64);try {//这边要多加一个fs.OpenMode.CREATE得到创建文件的权限let file  = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);console.info("file fd: " + file.fd);//因为writeSync的入参类型是ArrayBuffer或string,所以这边要使用.buffer转换成ArrayBuffer类型,否则会报错。fs.writeSync(file.fd, imageBuffer.buffer);fs.closeSync(file);} catch (err) {Logger.error(CommonConstants.TAG, `saveBase64File err: ${err}`);return false;}return true;}

需要注意的是:

1.得到uri后,需要使用FileUri做一层转换,才可以做后续读写的操作

2.因为writeSync的入参类型是ArrayBuffer或string,所以这边要使用.buffer转换成ArrayBuffer类型,否则会报错。
     

否则出现Error: Operation not permitted,

防止以后出错,特此记录

http://www.hengruixuexiao.com/news/38892.html

相关文章:

  • 营销型网站制作价格it培训机构培训费用
  • 网站建设源码是什么谷歌浏览器搜索引擎入口
  • 天津市城市建设学校官方网站百度关键词规划师入口
  • 唐尧文化 网站建设工作总结建网站
  • 销售类电商网站如何做优化seo网站推广是什么
  • 网站开发的心得与体会可以商用的电视app永久软件
  • 苏州做网站品牌公司线上推广100种方式
  • 小型电子商务网站开发长春网站快速排名提升
  • 域名注册的网站都有哪些活动推广方案怎么写
  • 太阳宫网站建设机器人编程培训机构排名
  • 哪些网站可以做淘宝基础销量常州网站推广公司
  • 婚庆网站设计说明书厦门seo网站优化
  • 做网站需要什么软件设计培训学院
  • 湖南省内出行最新政策温州seo优化
  • 网站建设规划书百度资源共享
  • 如何做学校网站口碑营销案例简短
  • 武汉网站设计站建设郴州seo外包
  • 小学网站源码直通车关键词优化
  • 软件开发培训费用什么是搜索引擎优化的核心
  • 某种网站怎么找凡科建站手机版登录
  • 贵池网站建设seo是指什么意思
  • 自由人网站开发深圳抖音推广公司
  • 精品课程网站建设内容站长统计ios
  • wordpress网站打不开软文营销步骤
  • 帝国cms做招聘网站网站快速被百度收录
  • wordpress 有赞收款百度关键词seo
  • 我要免费开网店网页优化建议
  • 目前做网站框架腾讯云域名注册
  • 叮当快药网站谁做的深圳网络营销网站设计
  • 公司网站建设公司排名百度关键词排名销售