更新的iOS设备上的Cordova文件插件错误代码3(Abort_Error)
Cordova File Plugin Error Code 3 (Abort_Error) on newer iOS Devices
我正在进行一个Cordova项目,但文件系统插件出现了一个错误。我可以在iPhone 5S模拟器(Json和jpegs)中读写得很好。但在我的iPhone 6设备和iPhone 6S模拟器上,当获取新的jpg文件时,fileSystem.getFile()函数总是给我错误代码3。Json工作得不错。有什么想法吗?
self.savePicture = function (fileURI, callback) {
if(self.canSave) {
window.resolveLocalFileSystemURL(self.dataDirectory, function(fileSystem) {
var d = new Date().getTime();
var folder = "pictures/";
var filename = "pic_"+d + ".jpg";
fileSystem.getFile(folder+filename, { create: true }, function(file) {
file.createWriter(function(writer) {
writer.write(self.b64toBlob(fileURI, 'data:image/jpeg;base64,'));
app.log('saving ' + filename + ' successful', 'data');
callback(filename);
}, function() {
app.log('saving ' + filename + ' failed', 'data');
});
}, function() {
app.log('getting File failed','data');
});
}, function() {
app.log('resolvingLocalFileSystem failed','data');
});
}else{
app.log('device cant save!', 'data');
}
callback('');
}
好的,我找到了一个解决方案。我必须先创建目录"pictures/",然后再创建文件。它现在适用于所有设备。但我无法解释,为什么上面的代码会在某些设备上工作。。
self.savePicture = function (fileURI, callback) {
if(self.canSave) {
window.resolveLocalFileSystemURL(self.dataDirectory, function(fileSystem) {
var d = new Date().getTime();
var folder = "pictures/";
var filename = "pic_"+d + ".jpg";
fileSystem.getDirectory(folder, { create: true }, function(dir) {
dir.getFile(filename, { create: true }, function(file) {
file.createWriter(function(writer) {
writer.write(self.b64toBlob(fileURI, 'data:image/jpeg;base64,'));
app.log('saving ' + filename + ' successful', 'data');
callback(filename);
}, function() {
app.log('saving ' + filename + ' failed', 'data');
});
}, function() {
app.log('getting File failed','data');
});
}, function(){
app.log('getting Directory failed','data');
});
}, function() {
app.log('resolvingLocalFileSystem failed','data');
});
}else{
app.log('device cant save!', 'data');
}
callback('');
}
相关文章:
- jQuery Error adadvisor.net
- Ajax调用ERror Cross Origin REquest:在rails中自动完成大学列表
- 类型error primeFactors.for不是函数
- Array.every返回false,而不是类型error
- datatables.net ajax error - http://datatables.net/tn/7
- Error: timers.js:234 callback.apply(timer, args);
- 滚动到错误字段ERROR
- Error with xmlhttpresponse
- ajax javascript 500 error
- 将数据从ExpressJS发送到AngularJS ERROR json
- walkscore API JSON error
- STRIPE.JS Error
- Jquery abort()没有'似乎没有完全释放
- Angular Routing Pretty URL Error
- 节点回调参数无法断言instanceof Error
- Jasmine .calls.count and .calls.any throwing error
- React.render error
- 如何访问npm模块抛出的自定义错误对象[error:[object object]]
- grunt contrib jshint-error在定义之前就已经使用过了
- Cordova 3.4.0 : File Api GetFile Abort Error