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

鸿蒙下载文件保存到手机本地公共文件夹下、将本地的沙箱目录文件,保存到公共目录,鸿蒙picker save保存文件为空(0字节)的问题

1、首先将下载好的文件,保存到本地目录,这个目录是用户看不到的;

2、然后通过picker的save保存文件,这个picker,它只是获取公共目录uri用的

3、当picker有回调时,将公共目录的uri获取之后,把下载好的文件复制到公共路径下,

公共路径=uris1[0]+'/'+'56151651.pdf'

  async saveSystemFile(name:string,path:string){
    try {
      let documentSaveOptions = new picker.DocumentSaveOptions();
      documentSaveOptions.pickerMode=picker.DocumentPickerMode.DOWNLOAD
      documentSaveOptions.fileSuffixChoices = ['文档|.txt', '.pdf'];
      documentSaveOptions.newFileNames = [name];
      let documentPicker = new picker.DocumentViewPicker(getContext() as common.Context);
      documentPicker.save(documentSaveOptions).then((uris1: Array<string>) => {

        let uri = uris1[0]+'/'+name;

        let srcDirUriLocal: string = fileUri.getUriFromPath(path);

        fs.copy(srcDirUriLocal, uri, (err: BusinessError) => {
          if (err) {
            console.error(`Failed to copy: ${JSON.stringify(err)}`);
            return;
          }
        })

      }).catch((err: BusinessError) => {
        console.error('DocumentViewPicker.save failed with err: ' + JSON.stringify(err));
      });
    } catch (error) {
      let err: BusinessError = error as BusinessError;
      console.error('DocumentViewPicker failed with err: ' + JSON.stringify(err));
    }
  }

http://www.dtcms.com/a/78830.html

相关文章:

  • windows命令:创建和打开文件
  • React + Node.js实践 仿B站评论
  • JavaScript 编程:从基础到高级应用的全面探索
  • 嵌入式开发之STM32学习笔记day08
  • ffmpeg库视频硬编码使用流程
  • Redis哨兵模式-黑马学习笔记
  • STM32F429单片机FMC接口驱动TFT LCD和SDRAM
  • Flutter Dart 泛型详解
  • OpenCV图像拼接(4)图像拼接模块的一个匹配器类cv::detail::BestOf2NearestRangeMatcher
  • 【论文阅读】CARES:医学视觉语言模型可信度的综合基准
  • 2025-03-17 学习记录--C/C++-PTA 习题4-7 最大公约数和最小公倍数
  • 汇编移位指令
  • 读取Table的结构转换为Model类
  • Git push后撤销提交
  • 变量和数据类型——Python
  • 如何在electron中注册快捷键?
  • 高性能缓存:使用 Redis 和本地内存缓存实战示例
  • 使用vite新建vue3项目 以及elementui的使用 vite组件问题
  • windows+ragflow+deepseek实战之一excel表查询
  • 软件安全性测试的重要性和常用工具介绍,软件测试服务公司推荐
  • 固定资产管理系统解决方案,固定资产管理系统源码,设备管理系统源码(Java源码)
  • 集合的练习1-2
  • 【Matlab GUI】封装matlab GUI为exe文件
  • Java对接豆包等AI大模型的设计方案(六)-- 对接OpenAI的java库
  • 大语言模型的多垂类快速评估与 A/B 测试
  • 基于javaweb的SpringBoot食品溯源系统设计与实现(源码+文档+部署讲解)
  • 机器学习和深度学习中参数概览
  • electron框架(3.0)主程序与桥梁与渲染,以及之间的通信
  • 【实战篇】exists语法解析
  • 【QT 多线程示例】两种多线程实现方式