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

移动网站开发内容一键优化怎么调出来

移动网站开发内容,一键优化怎么调出来,什么是网络营销4c理论,apache 搭建多个网站1、鸿蒙系统文件/图片上传base64: 鸿蒙应用需要上传图片或者文件时,由于更高的安全性与更严谨的访问权限,通常无法直接从系统相册或文件管理中直接上传,因此我们可以通过picker对象去拉起相册访问的能力,引导用户选择…

1、鸿蒙系统文件/图片上传base64:

鸿蒙应用需要上传图片或者文件时,由于更高的安全性与更严谨的访问权限,通常无法直接从系统相册或文件管理中直接上传,因此我们可以通过picker对象去拉起相册访问的能力,引导用户选择需要上传的一张图片或者一份文件,将其写入沙箱,从而通过沙箱路径间接达到了上传的效果。

效果(上传图片):

效果(上传文件):

参考代码封装:

import { fileIo as fs, picker } from '@kit.CoreFileKit';
import util from '@ohos.util';
import { photoAccessHelper } from '@kit.MediaLibraryKit';
​
export class GetSystemFileUtils {static async getBase64Files(fileType: string) {return new Promise<GetFileType>(async (resolve, reject) => {
​let filePath = ''if(fileType == '.png' || fileType == '.jpg'){//选择图片类型进行上传const photoSelectOption = new photoAccessHelper.PhotoSelectOptions();photoSelectOption.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE; // 过滤选择媒体文件类型为IMAGEphotoSelectOption.maxSelectNumber = 1; // 选择媒体文件的最大数目// 打开相册选择图片const photoViewPicker = new photoAccessHelper.PhotoViewPicker();const photoSelectResult = await photoViewPicker.select(photoSelectOption)// 文件操作// 获取照片的uri地址filePath = photoSelectResult.photoUris[0]}else {//选择文件类型进行上传(例如:.txt、.pdf等)let filePicker = new picker.DocumentViewPicker();let result = await filePicker.select();filePath = result[0]}
​//选择的文件格式不符合let selectFilType = filePath.split('.').pop()if ('.' + selectFilType !== fileType) {reject()}//获取沙箱路径const file = fs.openSync(filePath)const stat = fs.statSync(file.fd)const buffer = new ArrayBuffer(stat.size)fs.readSync(file.fd, buffer)fs.closeSync(file)
​// 转成base64编码的字符串const helper = new util.Base64Helper()const base64Res = helper.encodeToStringSync(new Uint8Array(buffer))// }let startIndex = filePath.lastIndexOf('/') + 1;
​// 找到文件名中最后一个'.'的索引位置let endIndex = filePath.lastIndexOf('.');
​// 截取字符串let utfUriFileName = filePath.slice(startIndex, endIndex);//解码let fileTitle = decodeURIComponent(utfUriFileName);let FileContent: GetFileType = {base64File: base64Res,fileTitle: fileTitle}resolve(FileContent)
​})}
}
​
interface GetFileType {base64File: stringfileTitle: string
}

调用类

GetSystemFileUtils.getBase64Files(fileType).then((base64Files) => {
//获取到结果,文件名以及base64格式的文件。根据需求自行上传处理context.sendBridgeResult({ fileBase64: base64Files.base64File, fileName: base64Files.fileTitle })
}).catch(() => {WindowUtils.showToast({ message: "只支持" + fileType + "格式文件" })})

http://www.dtcms.com/wzjs/786016.html

相关文章:

  • html怎么弄成网站支付网站建设费用计入
  • 微信网站打不开上海工商网上办事平台
  • 方案 网站建设成都装饰公司
  • 网站建设备案审核要多久设计师应该知道的网站
  • 如何网站平台建设好重庆建筑工程特种作业信息网
  • 网站开发后端怎么开发竞价推广案例
  • 帮别人做网站开票开什么税目刚做外贸最好用哪个网站
  • 网站策划中规划预测怎们做韵达快递小网站怎么做
  • 电商的网站开发订单返利功能前端网站做中 英文怎么说
  • 网站的访问量怎么查厂家营销型网站建设
  • 打开官方网站seo外包方案
  • 网站建设有哪些费用郑州最新通告
  • 域名注册最好的网站建设购物网站流程
  • 专业网站是指什么鲜花销售管理系统
  • 2016个人网站备案网站开发建设挣钱吗
  • 做贸易把产品放到哪个网站好呢网站名是域名吗
  • 贵州做网站的北京优化社区防控措施方案
  • 中国建材网官方网站网页主要由三部分组成
  • 网站建设以及网页设计需要会什么查企业信息的软件
  • 建设安全工程信息网站网站自然排名这么做
  • 银川网站制作公司拓者设计吧注册码是永久的吗
  • 北京pk10盘制作网站建设网络服务器可提供的常见服务有什么
  • 就业创业网站建设seo优化服务是什么意思
  • 镇江网站建设推广公司莱芜网站建设方案公司
  • 大连科技网站制作软件工程主要课程
  • 4s店网站模板网络营销就业前景怎么样
  • 网站seo快速排名软件php网站开发推荐书籍
  • 网站开发用什么语言开发的上海注册公司查询
  • 网站地图xml文件长沙电商网站开发
  • 平台网站建设制作wordpress主题没有小工具