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

QQ登录

只需一步,快速开始

查看: 4662|回复: 6

[结贴] 拍照上传 ---总是报navigator.camera为undefined是什么原因,请教...

[复制链接]

1

主题

4

帖子

18

积分

新手上路

Rank: 1

积分
18
QQ
发表于 2016-6-20 09:31:56 | 显示全部楼层 |阅读模式
define(function(require){
    var $ = require("jquery");
    var justep = require("$UI/system/lib/justep");
   require("cordova!cordova-plugin-camera");
    require("cordova!phonegap-nfc");
    require("$UI/system/lib/cordova/cordova");
   
    var contextPath="";
    var Model = function(){
        this.callParent();
        
    };

    Model.prototype.modelLoad = function(event){
        contextPath =window.location.pathname;  
        var index =contextPath.substr(1).indexOf("/");   
        contextPath = contextPath.substr(0,index+1);   
        if(contextPath.substr(0,1)!="/"){
            contextPath = "/"+contextPath;
        }     
        $("select").removeAttr("disabled");
        
        document.addEventListener("deviceready",onDeviceReady,false);

       function onDeviceReady() {
            alert(1);         //这里进不来
            alert(navigator.camera);   
        }

        
    };
   
    //拍照
   
    Model.prototype.takePicBtnClickClick = function(event){
        
       if(!navigator.camera){
            return;
        }

        var self=this;
        navigator.camera.getPicture(onLoadImageSuccess,onLoadImageFail,{
            destinationType:navigator.camera.DestinationType.DATA_URL,
            allowEdit:true,
            quality:80,
            targetWith:100,
            targetHeight:100,
            saveToPhotoAlbum:true
        });
        
        //拍照成功后回调
          function onLoadImageSuccess(imageData){
               localStorage.setItem("imageData","data:image/jpeg;base64,"+imageData);
               var smallImage = document.getElementById(self.getIDByXID('image1'));
                //显示图像
               smallImage.style.display = 'block';
               smallImage.src = "data:image/jpeg;base64,"+imageData;                        
                //图片上传
               self.uploadPic(imageData);            
            }
            function onLoadImageFail(error){
                        alert(error);
            }        
    };
    //调用bass实现图片上传               
        Model.prototype.uploadPic = function(imageData){
        
         //用户信息,用于上传图片后保存图片链接fImage
         // var userid = this._UserID;    this._UserID是自己定义的变量,在页面打开时被初始化
          var picUserData = this.comp("picUserData");
          var userid =picUserData.val("fID");
          var storeFileName =  "";
          var imageJson = {};

          storeFileName = justep.UUID.createUUID();                           
               
         justep.Baas.sendRequest({
                "url" : "/jira/jira",  //baas目录,请根据自己的配置进行修改
                "action" : "uploadPicfile",
                "async" : false,
                "params" : {
                        "picData" : imageData,
                        "ownerID" : userid,
                        "storeFileName" : storeFileName
           },
          "success" : function(data) {

              justep.Util.hint("图片上传成功");

                        //修改数据库中的图片链接     这里我的字段名叫fImage,可以根据自己的字段名修改               
               userBaasData.setFilter("Idfilter", "fID='"+userid+"'");
               userBaasData.refreshData();        
               if(userBaasData.getCount()>0){
                  var fImage = '{"ownerID":"'+userid+'","storeFileName":"'+storeFileName+'"}';
                       userBaasData.setValue("fImage", fImage);
                       userBaasData.saveData();
                   }               
                }
            });
        };        
      
   
    return Model;
});
发表于 2016-6-20 15:49:04 | 显示全部楼层
cordova插件 报错 undefined
原因1.不是在APP中运行的!(cordova插件必须在APP中运行)
2.打包的时候,插件没有真正打包在APP中!(可能是既没有选择资源,又没有选中插件等导致的)
3.就是这个方法写错了!所以未定义!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

1

主题

4

帖子

18

积分

新手上路

Rank: 1

积分
18
QQ
 楼主| 发表于 2016-6-20 16:17:58 | 显示全部楼层
1.我打包成APP后 把下面的WWW拷出来,部署到我们的服务器上,然后用手机浏览器访问的,这算是在APP中运行吗?
2.怎样查看插件有没有打包到APP中呢?我找到systerm里的cordova文件夹,里面只有一个weixin文件夹,是看这里吗?
回复 支持 反对

使用道具 举报

1

主题

4

帖子

18

积分

新手上路

Rank: 1

积分
18
QQ
 楼主| 发表于 2016-6-20 17:43:27 | 显示全部楼层
@liangyongfei  非常感谢,确实智能安装APP使用~但是怎么查找插件有没有打在包里呢?
回复 支持 反对

使用道具 举报

发表于 2016-6-21 09:59:45 | 显示全部楼层
本帖最后由 liangyongfei 于 2016-6-21 10:01 编辑
renjie 发表于 2016-6-20 17:43
@liangyongfei  非常感谢,确实智能安装APP使用~但是怎么查找插件有没有打在包里呢? ...

可以把APK文件使用压缩工具打开,找到这个目录:assets\www\plugins 就能看的所有打包的cordova插件!
BM(B6{NF~~7])W9A(@ETNO0.png
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

1

主题

4

帖子

18

积分

新手上路

Rank: 1

积分
18
QQ
 楼主| 发表于 2016-6-21 13:55:46 | 显示全部楼层
liangyongfei 发表于 2016-6-21 09:59
可以把APK文件使用压缩工具打开,找到这个目录:assets\www\plugins 就能看的所有打包的cordov ...

找到了~非常感谢~
回复 支持 反对

使用道具 举报

130

主题

357

帖子

1012

积分

金牌会员

Rank: 6Rank: 6

积分
1012
QQ
发表于 2016-8-17 19:48:24 | 显示全部楼层
那图片该怎么下载下来了呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 19:15 , Processed in 0.061550 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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