上交国家
上交国家
  • 发布:2015-12-05 16:20
  • 更新:2019-09-25 18:02
  • 阅读:4360

拍照上传在真机调试模式能正常读取图片,打包成apk后就文件读取出错,不知道什么原因?

分类:HTML5+

如题,我做了一个随手拍的应用,照片上传方式有拍照和相册选取两个,通过相册选取的方式,调试和打包后均正常运行;
唯独使用拍照选取的方式,在调试模式上可以正常,打包后就读取不到拍照的文件了(读取拍照文件错误)。
另外拍照点确定后,使用三星s5后置摄像头,会有一定的机率导致程序崩溃重启,而使用前置摄像头则不会。
大神帮忙看看是哪里出的问题,谢谢!
代码如下:
选取页代码:

 // 拍照  
            function getImage() {  
                var cmr = plus.camera.getCamera();  
                cmr.captureImage(function (p){  
                    //plus.nativeUI.toast( "成功:"+p );  
                    plus.io.resolveLocalFileSystemURL( p, function ( entry ) {  
                        //console.log(entry.fullPath);//真实路径  
                        //保存到相册  
                        //plus.gallery.save(p, function () {console.log( "保存图片到相册成功" );});  
                        mui.openWindow({  
                            id: 'photo_text',  
                            url: 'photo_text.html',  
                            show: {  
                                autoShow: true,  
                                aniShow: aniShow  
                            },  
                            styles: {  
                                top: '0px',  
                                bottom: '0px'  
                            },  
                            waiting: {  
                                autoShow: false  
                            },  
                            extras:{  
                                img_path:p,  
                                view_id:view_id  
                            }  
                        });  
                    },function (e){  
                        plus.nativeUI.toast("读取拍照文件错误:"+e.message);  
                    });  
                },function (e){  
                    plus.nativeUI.toast( "失败:"+e.message );  
                },{filename:"_doc/camera/"});  
            }  

            function galleryImg(){  
                // 从相册中选择图片  
                plus.gallery.pick( function(path){  
                    //console.log(path);  
                    mui.openWindow({  
                        id: 'photo_text',  
                        url: 'photo_text.html',  
                        show: {  
                            autoShow: true,  
                            aniShow: aniShow  
                        },  
                        styles: {  
                            top: '0px',  
                            bottom: '0px'  
                        },  
                        waiting: {  
                            autoShow: false  
                        },  
                        extras:{  
                            img_path:path,  
                            view_id:view_id  
                        }  
                    });  
                }, function ( e ) {  
                    //console.log( "取消选择图片" );  
                }, {filter:"image"} );  
            }  

            //弹出选择菜单  
            function showActionSheet(){  
                var bts=[{title:"拍照"},{title:"相册"}];  
                plus.nativeUI.actionSheet({  
                    title:"请选择照片来源",  
                    cancel:"取消",  
                    buttons:bts  
                },  
                    function(e){  
                        if(e.index==1){//打开相机  
                            getImage();  
                        }  
                        if(e.index==2){//打开相册  
                            galleryImg();  
                        }  
                    }  
                );  
            }  

//显示页:  
//接收选取的照片路径  
                var self=plus.webview.currentWebview();  
                var path=self.img_path;  
                //转换成平台路径  
                var path_url = plus.io.convertLocalFileSystemURL(path);  

后面调用h5+ zip图片压缩转base64并显示上传等都正常,省略此部份代码。

另外一个问题是,小米手机、红米手机的miui系统在点击拍照后图片点确定无反应又是什么原因?

2015-12-05 16:20 负责人:无 分享
已邀请:
JXTW_ZTY

JXTW_ZTY

我也遇到了一样的问题 求大神解答

且听风吟

且听风吟

你的选择图片竟然还是正常的?你的是单选还是多选?

  • 上交国家 (作者)

    单选

    2015-12-07 09:44

  • 且听风吟

    回复 上交国家:不是吧 我试了官方的h5+DEMO打包后galleryImg单选都不行,galleryImgs多选是OK的

    2015-12-07 09:49

  • huyong1978

    是的,单选不可以,多选可以

    2015-12-07 10:16

  • 上交国家 (作者)

    我单选可以啊。。多选倒没试

    2015-12-07 10:33

GandL

GandL

我的情况是:真机调试能够正常从相册选择图片并获取到。而打包后,能进入相册,但是选择图片返回后就没动静了

  • 且听风吟

    官方确认是bug,可以选择debug模式打包

    2015-12-08 14:48

  • GandL

    debug模式打包和正常模式打包有什么区别吗?会造成其他什么问题吗?会影响程序升级吗?

    2015-12-08 14:56

  • 上交国家 (作者)

    回复 且听风吟:debug模式打包在哪里,没找到

    2015-12-10 09:19

  • 且听风吟

    回复 上交国家:现在不是已经修复了吗?debug模式是在manifest.json中,一打开就可以看到

    2015-12-10 09:45

陌路_js

陌路_js

你试一下错误回调,看看是不是用户取消,还有那个拍照程序重启,我用红米也会,郁闷,希望有大神能解答

ywg369

ywg369

图片上传,发布后安装就不能 就不能上传图片了,很奇怪

8***@qq.com

8***@qq.com

请问最后解决了么,我也遇到这个问题,控制台一直提示我跨域问题,

春华秋实

春华秋实

我有个朋友说 dcloud坑很多,现在我相信了

sanlion

sanlion

发布后的效果跟真ji调试时差距很大

9***@qq.com

9***@qq.com

我把outputpath目录改成_doc/b.png打包出来才正常了

2***@qq.com

2***@qq.com

请问这个问题解决了吗

g***@126.com
g***@126.com
1***@qq.com

1***@qq.com - 90后IT男

你好,请问这个问题解决了吗

该问题目前已经被锁定, 无法添加新回复