phonegap拍照然后将照片移至文件系统指定位置
我想做的事情是:
1.通过phonegap的camera api拍摄照片
2.将拍得的照片移动至文件系统的指定位置
3.将该照片的路径保存进模型对象
4.同步模型对象的数据和本地永久性存储
代码如下:
photo.getPicture = function () {
navigator.camera.getPicture(function (imageURI) {
// move the picture to the images dir
console.log(imageURI);
window.resolveLocalFileSystemURI(imageURI, function (fileEntry) {
fileEntry.moveTo(file.appDir, fileEntry.name, function (newFileEntry) {
console.log(newFileEntry.fullPath);
var moments = viewModel.moments;
viewModel.set('moment.Src', newFileEntry.fullPath);
moments.add(viewModel.moment);
moments.sync();
console.log(viewModel.moments._total);
}, function (error) {
console.log('error occured while moving image: ' + error);
});
}, function (e) {
console.log('error occured while resolving file uri : ' + e.target.error.code);
});
}, function (error) {
alert('error occured while capturing: ' + error);
}, {
quality: 100,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.CAMERA,
encodingType: Camera.EncodingType.JPEG
});
};
现在的问题是:
1.照片可以成功地被添加至模型对象,但是再次打开app,它却消失了。也就是说没有同步进本地永久存储
2.连续拍照,只会重复添加第一次拍得的照片。当然再次打开app它们都没了。
3.日志如下:
file://localhost/var/mobile/Applications/77658234-7D3E-4663-8284-5E9F35167D16/tmp/cdv photo 016.jpg
---
/var/mobile/Applications/77658234-7D3E-4663-8284-5E9F35167D16/Documents/moment/cdv photo 016.jpg
---
2
---
unhandled exception in event handler. exception suppressed
---
%o TypeError: 'null' is not an object
前三个输出都是代码中正常的调试输出,可见程序顺利地执行到了
console.log(viewModel.moments._total)
并且输出的值也是正确的。
可之后的两条异常报错,我就不太明白了。由于我的调试环境是XCode控制台,也无法定位到是哪个个js文件的哪条语句引发地报错了。
我的数据框架是
jaydata
先谢谢大家。
值得一提的是,我的测试设备是iPod Touch 4,内存只有256Mb。
phonegap jaydata ios JavaScript