HarmonyOS鸿蒙Next中DocumentViewPicker.save是否支持覆盖保存

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS鸿蒙Next中DocumentViewPicker.save是否支持覆盖保存

public exportFile() { 
    this.saveAllFile() 
    let context = getContext() as common.UIAbilityContext; 
    let documentSaveOptions = new picker.DocumentSaveOptions(); 
    documentSaveOptions.pickerMode = picker.DocumentPickerMode.DOWNLOAD; 
    let documentPicker = new picker.DocumentViewPicker(context); 

    documentPicker.save(documentSaveOptions).then((documentSaveResult: Array<string>) => { 
        let uriString = new fileUri.FileUri(documentSaveResult[0]); 
        let destPath = uriString.path; 
        let srcPath = this.userActionFilePath 
        fs.copyDirSync(srcPath, destPath, 0); 
        CSLog.e("LCB", "DocumentViewPicker.save successfully") 
    }).catch((err: BusinessError) => { 
        CSLog.e("LCB", 'DocumentViewPicker.save failed with err: ' + JSON.stringify(err)) 
    }); 
} 

沙箱内文件保存到公共路径是没问题的,但是测试发现,只有第一次是正常的,第二次再保存,需要手动把文件系统-我的手机-下载-包名内的文件删除后,再保存才正常,documentPicker.save是否支持覆盖保存呢?

更多关于HarmonyOS鸿蒙Next中DocumentViewPicker.save是否支持覆盖保存的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

DocumentViewPicker.save 不支持覆盖保存

三方应用不支持删除,支持读写。

可以通过将copyDirSync设置模式为1进行强制覆盖,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fs-V5#fscopydirsync10

更多关于HarmonyOS鸿蒙Next中DocumentViewPicker.save是否支持覆盖保存的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,DocumentViewPicker.save 方法不支持覆盖保存。该功能主要用于将文件保存到设备的文档目录中,并且如果指定的文件名已经存在,系统会生成一个新的文件名以避免覆盖现有文件。开发者需要通过其他方式实现覆盖保存的逻辑,例如在保存前手动删除已存在的文件。

在HarmonyOS鸿蒙Next中,DocumentViewPicker.save 方法目前不支持直接覆盖保存。它主要用于将文件保存到用户指定的位置,如果目标文件已存在,系统会提示用户选择是否覆盖或另存为新文件。开发者可以通过检查文件是否存在,并手动处理覆盖逻辑来实现类似功能。建议参考官方文档或API指南以获取最新信息。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!