[英]ngCordova write file on Android
我正在尝试使用ionic论坛上的ngCordova函数将文件写入Android设备上的本地存储。 该函数的外观如下:
$scope.exportClicked = function(options) {
var deferred = $q.defer();
$window.resolveLocalFileSystemURL($window.cordova.file.dataDirectory,
function(dir) {
dir.getFile('text.txt', {
create: true
}, function(fileEntry) {
fileEntry.createWriter(
function(fileWriter) {
if (options['append'] === true) {
fileWriter.seek(fileWriter.length);
}
fileWriter.onwriteend = function(evt) {
evt.fileEntry = fileEntry;
deferred.resolve(evt);
};
fileWriter.write(data);
},
function(error) {
deferred.reject(error);
}
);
}, function(er) {
deferred.reject(error);
});
});
return deferred.promise;
};
当我通过Web浏览器中的ionic运行应用程序时,它给我一个错误:
TypeError: Cannot read property 'file' of undefined
at Scope.$scope.exportClicked (app.js:27)
我已经安装了cordova文件插件,但似乎找不到cordova.file功能。 在Android设备上,它也不起作用。 有任何想法吗?
您忘记安装文件cordova插件。 https://github.com/apache/cordova-plugin-file
未定义$window.cordova
。 由于您使用的是ngCordova,并且ngCordova对文件插件有官方支持,因此我将从ngCordova文档开始介绍文件插件 。 这是您可能感兴趣的一点:
$cordovaFile.writeFile(cordova.file.dataDirectory, "file.txt", "text", true)
.then(function (success) {
// success
}, function (error) {
// error
});
使用ngCordova实现时,您还将获得具有更多可读代码的额外好处。
如果您愿意跟随你的原来的例子更加紧密,尝试更换$window.cordova
与window.cordova
,或者干脆cordova
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.