如题,我做了一个随手拍的应用,照片上传方式有拍照和相册选取两个,通过相册选取的方式,调试和打包后均正常运行;
唯独使用拍照选取的方式,在调试模式上可以正常,打包后就读取不到拍照的文件了(读取拍照文件错误)。
另外拍照点确定后,使用三星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系统在点击拍照后图片点确定无反应又是什么原因?
13 个回复
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
我的情况是:真机调试能够正常从相册选择图片并获取到。而打包后,能进入相册,但是选择图片返回后就没动静了
且听风吟
官方确认是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
你试一下错误回调,看看是不是用户取消,还有那个拍照程序重启,我用红米也会,郁闷,希望有大神能解答
ywg369
图片上传,发布后安装就不能 就不能上传图片了,很奇怪
8***@qq.com
请问最后解决了么,我也遇到这个问题,控制台一直提示我跨域问题,
春华秋实
我有个朋友说 dcloud坑很多,现在我相信了
sanlion
发布后的效果跟真ji调试时差距很大
9***@qq.com
我把outputpath目录改成_doc/b.png打包出来才正常了
2***@qq.com
请问这个问题解决了吗
g***@126.com
1
g***@126.com
2
1***@qq.com - 90后IT男
你好,请问这个问题解决了吗