javascript - phonegap拍照然后将照片移至文件系统指定位置
大家讲道理
大家讲道理 2017-04-10 12:48:19
[JavaScript讨论组]

我想做的事情是:
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/cdvphoto016.jpg
---
/var/mobile/Applications/77658234-7D3E-4663-8284-5E9F35167D16/Documents/moment/cdvphoto016.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。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
伊谢尔伦

问题已经解决。

因为我在jaydata初始化时的数据结构中定义了一个字段为required,而我在添加照片的时候没有给这个字段赋值,导致了这个错误。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号