起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 55482|回复: 207

[处理中] 手机拍照上传

[复制链接]

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
发表于 2016-6-8 16:01:18 | 显示全部楼层 |阅读模式
我的版本是3.2.1 想要实现一个手机拍照上传的页面
直接运用demon里的那个案例 请问需要注意改动的地方有哪些

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-6-8 17:33:04 | 显示全部楼层
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-6-8 17:51:46 | 显示全部楼层
我看了这个帖子 也用了 但是出错不行
第一步实现调用拍照就没有成功
显示NPObject deleted
是怎么回事
调用相机的部分应该不用改什么吧 但是怎么出错
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-6-8 18:10:51 | 显示全部楼层
在你的代码中加上一些alert或真机调试, 看看运行到哪段代码时出错

另:你用的是V3.2.1版本? 如果能升级到V3.4版本的话, 最好升级到V3.4版本上
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-6-8 18:24:17 | 显示全部楼层

demo提供的案例页面中 执行到 navigator.camera.getPicture(onSuccess, onFail, {quality : 50}); 这句就出错了

可以帮忙解释下吗
------------------------------------------------------------------------
       
        require("$UI/system/lib/cordova/cordova");
        require("css!$UI/demo/device/common/pub").load();
        require("cordova!org.apache.cordova.camera");
        require("cordova!org.apache.cordova.media-capture");
        require("cordova!org.apache.cordova.inappbrowser");
       
        var Model = function() {
                this.callParent();
                this.STORE_ID = "com.justep.demo.advice.cameradata";  //
        };
       

        //从内存中取出历史记录
        Model.prototype.modelLoad = function(event){
                var me = this;
                document.addEventListener("deviceready", onDeviceReady, false);
                // 加载完成
                function onDeviceReady() {
                        me.comp("cameraBtn").set({disabled: false});
                        me.comp("captureBtn").set({disabled: false});

                        if(localStorage.getItem(me.STORE_ID) !== "")
                                me.comp("fileData").loadData(JSON.parse(localStorage.getItem(me.STORE_ID)));
                }
        };

        //拍照
        Model.prototype.cameraBtnClick = function(event) {
                var operateLabel = this.getElementByXid("operateLabel");
                var resultLabel = this.getElementByXid("resultLabel");
                $(operateLabel).text("开始拍照!");
                $(resultLabel).text("");

                var data = this.comp("fileData");
                function onSuccess(imageURI) {
                data.newData({index : 0});
                        data.setValue("filePath", imageURI);
                        data.setValue("fileName", imageURI.substr(imageURI.lastIndexOf('/') + 1));
                        data.setValue('createTime', justep.Date.toString(new Date(), justep.Date.DEFAULT_FORMAT ));
                        $(resultLabel).text("成功"+imageURI);
                }
               
                $(operateLabel).text("开始拍照!!");
                function onFail(message) {
                        $(resultLabel).text("失败:"+message);
                }
                $(operateLabel).text("开始拍照!!!");
               
                navigator.camera.getPicture(onSuccess, onFail, {quality : 50});
                $(operateLabel).text("开始拍照!!!!");
        };
回复 支持 反对

使用道具 举报

发表于 2016-6-12 09:55:05 | 显示全部楼层
tlkj 发表于 2016-6-8 18:24
demo提供的案例页面中 执行到 navigator.camera.getPicture(onSuccess, onFail, {quality : 50}); 这句就 ...

试试其他手机也是闪退吗??
请问具体的报错信息是什么??
建议升级下版本到3.4以上!因为cordova插件有经过升级,应该修正了一些bug的!!建议您可以先下载个新版本!单独打包测试这个案例试试!应该是没问题的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-6-13 18:40:30 | 显示全部楼层
手机闪退的问题和NPObject deleted 的问题已经解决了 谢谢各位。
现在已经能够实现demo里的功能了 。调用相机拍照,然后在一个列表里有照片的名字。
我想实现就像平时的应用里的 拍了照 会显示一些缩小的图片,然后选择图片 然后上传到服务器上。
我想完成上述的过程,请指教下 具体的思路是什么呢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2016-6-14 10:13:52 | 显示全部楼层
平台提供的attachment组件上传后就可以显示缩小的图片,然后根据自己的需求删除其他的,然后保存数据就可以删除

如果不用attachment就需要自己实现,压缩图片等可以到网上查找HTML5中的实现
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-6-14 10:41:30 | 显示全部楼层
attachment组件的用法有案例吗
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2016-6-14 10:57:46 | 显示全部楼层
配置bind-ref
在文档关联中配置上传到那个目录上就可以
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-23 18:10 , Processed in 0.056252 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表