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

QQ登录

只需一步,快速开始

查看: 1862|回复: 3

[处理中3] camera插件 无法保存图片到本地相册

[复制链接]

2

主题

6

帖子

10

积分

新手上路

Rank: 1

积分
10
QQ
发表于 2017-7-20 16:30:14 | 显示全部楼层 |阅读模式
代码如下
define(function(require){
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");
        require("$UI/system/lib/cordova/cordova");     
    require("cordova!cordova-plugin-camera")
        var Model = function(){
                this.callParent();
        };

        Model.prototype.button1Click = function(event){
                /** 拍照 */
                if(!navigator.camera){
               return;
          }
                var self = this;  
        navigator.camera.getPicture(onLoadImageSuccess, onLoadImageFail, {
                destinationType: Camera.DestinationType.DATA_URL,//navigator.camera.DestinationType.DATA_URL,    //选择返回数据的格式   
                quality :100,                                                //存储图像的质量,范围是[0,100]。
                        sourceType : 1,                    //2:从相册中选取照片1为拍照
                        //allowEdit : true,                  //是否允许对图片进行编辑
                        //targetWidth: 100,                  //以像素为单位的图像缩放宽度指定图片展示的时候的宽度
                        //targetHeight: 100,                                        //以像素为单位的图像缩放高度指定图片展示的时候的高度
                        cameraDirection: 0,                 //拍照摄像头选择:0:后置摄像头;
                        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){
                      justep.Util.hint(error);
                }

        };
       
        Model.prototype.onepicDataSaveCommit  = function(event){
                document.addEventListener("deviceready", onDeviceReady, false);
            function onDeviceReady() {
                console.log(navigator.camera);
                }
        };
        return Model;
});


不知道什么问题,求大神
发表于 2017-7-20 17:01:08 | 显示全部楼层
你获取的是base64 的字符串当然没法保存相册!
拍照获取这是的URL地址
http://docs.wex5.com/wex5-app-question-list-2007/
用第二种方法

保存到相册的案例!请参考下
http://docs.wex5.com/wex5-app-question-list-2032/

或搜下AIP文档

还有
saveToPhotoAlbum


qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

2

主题

6

帖子

10

积分

新手上路

Rank: 1

积分
10
QQ
 楼主| 发表于 2017-7-20 17:32:25 | 显示全部楼层
我看来看去都跟论坛一样啊,,,我是新手能说明下吗
回复 支持 反对

使用道具 举报

发表于 2017-7-20 17:47:55 | 显示全部楼层
qiangzi 发表于 2017-7-20 17:32
我看来看去都跟论坛一样啊,,,我是新手能说明下吗

请问你那儿不懂??
拍照默认就会把相片保存到相册的吧!

1. 看第一个链接,拍照插件获取图片的URL地址~! 只要是看参考:destinationType  
destinationType : Camera.DestinationType.NATIVE_URI,   //真实URL 地址
destinationType:navigator.camera.DestinationType.DATA_URL, //base64 的值

首先你是想获取真实的URL地址对吧!
获取地址以后!
参考:/UI2/system/api/native/image.js
代码

  1.                                 var ft = new FileTransfer();
  2.                                 ft.download(source + requestParam, fullName, function(entry) {
  3.                                         ft.saveToAlbum(fullName, function(re) {
  4.                                                 Utils.successCallback(self, param, {
  5.                                                         'localId' : fullName,
  6.                                                         'errMsg' : "downloadImage:ok"
  7.                                                 });
  8.                                         });
  9.                                 }, function(err) {
  10.                                         Utils.errorCallback(self, param, {
  11.                                                 'errMsg' : "downloadImage:fail",
  12.                                                 'resultStr' : err
  13.                                         });
  14.                                 });
复制代码


这是保存相册的代码案例

如果拍照默认就是保存到相册的!哪这里就可以不用写代码的!直接获取URL地址就行了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 03:32 , Processed in 0.055338 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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