【发布时间】:2018-03-17 14:02:38
【问题描述】:
在尝试将使用相机拍摄的文件复制到数据存储时,我似乎找不到任何有关错误的信息。这是我的功能(这几乎是每个人都在做的事情):
import { File } from '@ionic-native/file';
// stuff here
constructor(public navCtrl: NavController, public navParams: NavParams, private StorageProvider: StorageProvider, public viewCtrl: ViewController, private camera: Camera, public platform: Platform, private file: File{
}
// other stuff here
copyFileToLocalDir() {
let d = new Date();
let n = d.getTime();
let newFileName = n + ".jpg";
console.log('new name',newFileName);
this.file.copyFile(this.imagePath, this.imageName, cordova.file.dataDirectory, newFileName)
.then(success => {
this.lastImage = newFileName;
}, error => {
console.log('error saving');
});
}
导致错误的行是:this.file.copyFile(...
我在模拟器或设备上运行时遇到的错误是: 错误错误:未捕获(承诺):无效操作
离子信息:
cli packages: (/Users/billb/dev/customer-mkt-app/node_modules)
@ionic/cli-utils : 1.12.0
ionic (Ionic CLI) : 3.12.0
global packages:
cordova (Cordova CLI) : 7.0.1
local packages:
@ionic/app-scripts : 3.0.0
Cordova Platforms : android 6.2.3 ios 4.4.0
Ionic Framework : ionic-angular 3.3.0
System:
Android SDK Tools : 26.1.1
ios-deploy : 1.9.0
ios-sim : 5.0.10
Node : v7.8.0
npm : 4.6.1
OS : macOS Sierra
Xcode : Xcode 9.0 Build version 9A235
Misc:
backend : legacy
有什么想法吗?此函数 copyFileToLocalDir() 几乎取自 File 插件的几个示例,包括插件编写者。
【问题讨论】:
-
您是否使用最新版本的 ionic-native?
copyFile方法仅在 ionic-native 中可用,然后转发到“真实”cordova-file 插件的其他方法。也许插件已更改并且 ionic-native 尚未更新。只是猜测:) -
是的,它是最新的。文件的 Ionic 页面上显示 copyFile
-
你在调用函数之前记录了函数调用的参数吗?尤其是
cordova.file.dataDirectory好像有点不对劲。 -
我已经记录了其中的一些,但我尝试了很多不同的更改,我不记得了。让我再做一次,看看我有什么。
-
是的,所有参数看起来都正确
标签: android file cordova ionic-framework native