You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ionic 3 Cordova File插件copyFile操作报错(错误码13)求助

解决copyFile函数错误码13:input is not a directory的问题

结合你的代码和报错信息,我能快速定位问题的核心,帮你拆解原因和修复方案:

问题根源:参数传递不符合函数预期

大多数移动端/前端文件操作类的copyFile函数(比如常见的Ionic File插件),参数定义是这样的:

copyFile(sourceDirectory, sourceFileName, targetDirectory, targetFileName)

而你的代码里把完整的文件路径(this.path = "file:///storage/emulated/0/TheFolder/thefile.ext")传给了第一个参数sourceDirectory——这个参数的要求是源文件所在的目录路径,不是文件本身的路径。函数会检查你传入的路径是否为目录,结果发现是文件,于是抛出了input is not a directory的错误。

至于错误码13没出现在官方文档里,大概率是因为这是插件内部自定义的、或者底层平台(比如Android)的原生错误码,属于文档没覆盖到的边缘场景。

修复步骤:拆分源目录与文件名

调整参数传递逻辑,把源文件的目录和文件名分开传入:

// 拆分源文件的目录和文件名
const sourceDir = "file:///storage/emulated/0/TheFolder/";
const sourceFileName = "thefile.ext";
// 确保this.newPath是目标目录(你的代码里这部分是对的)
this.fileCtrl.copyFile(sourceDir, sourceFileName, this.newPath, "your-new-file-name.ext");

额外注意事项

  • 确认this.newPath对应的目标目录已经存在,如果不存在,部分插件需要先调用createDir方法创建目录再执行复制
  • 检查应用是否拥有足够的文件读写权限:Android 10及以上版本可能需要MANAGE_EXTERNAL_STORAGE权限,或者改用媒体库相关API操作文件

内容的提问来源于stack exchange,提问作者EMRADE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:53:40