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

东莞南城电子网站建设江西省工程建设信息官方网站

东莞南城电子网站建设,江西省工程建设信息官方网站,企业信用信息查询公示系统全国,电子商务网站的实施包括哪些步骤问题成因 在制作用户注册登录界面时想要实现用户头像上传共能,查询API文档,发现有picker和PhotoAccessHelper两个包可以选择使用,但是在使用PhotoAccessHelper包拉起相册并读入所选的照片后将该照片传入云存储中产生报错,需要相册…

问题成因

在制作用户注册登录界面时想要实现用户头像上传共能,查询API文档,发现有picker和PhotoAccessHelper两个包可以选择使用,但是在使用PhotoAccessHelper包拉起相册并读入所选的照片后将该照片传入云存储中产生报错,需要相册读写权限,但是该权限是受限权限,不容易获取,查询API发现有使用picker包跳过该权限实现该功能的方法,但是代码粘进项目跑了一下,发现官方给的示例代码其实还是需要申请相册读写权限的,问题回到如何跳出相册读写权限

思路产生

通过PhotoAccessHelper获取到的相册图片只是不能通过任何形式进行网络传输,但是可以在本地进行操作,那么为什么不能讲数据拷贝成一个可以任我们操作的图片对象呢?

拷贝

let storageBucket: cloudStorage.StorageBucket = cloudStorage.bucket();// 使用photoAccessHelper选择指定的文件let photoSelectOptions = new photoAccessHelper.PhotoSelectOptions();photoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE; // 过滤选择媒体文件类型为IMAGEphotoSelectOptions.maxSelectNumber = 1; // 选择媒体文件的最大数目let photoViewPicker = new photoAccessHelper.PhotoViewPicker();photoViewPicker.select(photoSelectOptions).then((photoSelectResult: photoAccessHelper.PhotoSelectResult) => {let fileUri = photoSelectResult.photoUris[0];console.info(`pick file ${fileUri}`);let fileName = fileUri.split('/').pop() as string;console.info(`file name ${fileName}`);let cacheFile = `${Date.now()}_${fileName}`;console.info(`cacheFile ${cacheFile}`);let cacheFilePath = getContext().cacheDir + '/' + cacheFile;// 将选中文件copy至cache目录下,文件名为cacheFiletry {let srcFile = fs.openSync(fileUri);let dstFile = fs.openSync(cacheFilePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);fs.copyFileSync(srcFile.fd, dstFile.fd);fs.closeSync(srcFile);fs.closeSync(dstFile);} catch (e) {console.info(`copy file failed ${e.message}`);return;}

这里上传到云存储需要的是cache层级的文件存储路径,如果有其他需求也可以改成其他路径

上传至云存储

      // 上传至云存储默认实例storageBucket.uploadFile(getContext(this), {localPath: cacheFile, // 本地文件路径,context.cacheDir目录下的文件cloudPath: `云测路径/${fileName}`    // 云侧路径}).then(async (task: request.agent.Task) => {task.on('progress', (progress) => {console.info(`on progress ${JSON.stringify(progress)}`);});task.on('completed', (progress) => {console.info(`on completed ${JSON.stringify(progress)}`);});task.on('failed', (progress) => {console.error(`on failed ${JSON.stringify(progress)}`);});task.on('response', (response) => {console.info(`on response ${JSON.stringify(response)}`);});// start tasktask.start((err: BusinessError) => {if (err) {console.error(`Failed to start the uploadFile task, Code: ${err.code}, message: ${err.message}`);} else {console.info(`Succeeded in starting a uploadFile task.`);}});const url = await storageBucket.getDownloadURL(`avatar/${fileName}`)console.log('测试获取下载地址' + url)this.avatar = url}).catch((err: BusinessError) => {console.error(`uploadFile failed, Code: ${err.code}, message: ${err.message}`);});

在API12版本可用的跳过相册读写权限从相册读取照片并上传至网络就完成了!

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

相关文章:

  • 西安云众网站建设提高wordpress性能宝塔
  • 做网站开发学什么语言网站建设丿金手指专业
  • 买域名的网站沈阳市做网站的公司
  • 国内建设网站wordpress 文章置顶显示
  • 网站建设多少钱一个月什么网站可以做字体效果图
  • 做网站 图片显示不出来wordpress翻译怎么用
  • 中山网站建设开发古冶区城乡建设局网站
  • 网站后台管理系统html下载pjax wordpress
  • 深圳微信分销网站制作合肥建站方案
  • 适合学生做网页练习的网站常见网站建设
  • 三乡网站建设公司杭州有几个区
  • 长沙学做网站建设浏览器官网入口
  • 长沙网站建设有哪些没有公司地址怎么注册公司
  • 网站销售怎么样的平面设计基础学什么
  • 伊宁网站建设优化电子商务网站建设 教案
  • 高职专业建设管理网站可以制作视频的软件有哪些
  • 怎样做网站的用户分析源码屋整站源码
  • 自助建站帮助网做网站特别注意什么
  • 建设企业网站的需求分析西宁做网站的网络公司
  • 网站做百度推广有没有效果wordpress特效插件
  • 民权县住房和城乡建设局网站免费推广预期效果
  • 家具东莞网站建设技术支持济南 网站定制
  • 玩具外贸网站html简单登录页面代码
  • 免费建站的网址视频微网站开发
  • 石家庄 网站建设 15369356722手机如何制作游戏软件
  • 韶关网站建设科技有限公司网站做区块链然后往里面投钱
  • 网站建设海报素材图片wordpress占用空间越来越大
  • 资讯cms网站有那些网站备案更名
  • 上海 网站建设 案例wordpress 网站统计插件下载
  • 网站开发 保修期房地产网站建设的目的