camera 插件在iOS内报错
本帖最后由 ddcat 于 2016-1-27 19:37 编辑--------------------原问题--------------------------
使用cordova-camera 和 ngCordova 实现用户头像的拍照或从相册选择后上传。
安卓机测试可以正常拍照上传。
AgentData.getPhoto = function() {
var actSheet = $ionicActionSheet.show({
buttons: [
{ text: '拍照' },
{ text: '从相册选择' }
],
titleText: '选择照片',
cancelText: '取消',
buttonClicked: function(index) {
var options = {
quality : 49,
destinationType : 0 ,
sourceType : 0,
allowEdit : true, //出现裁剪框
targetWidth : 220,//图片裁剪高度
targetHeight : 220 //图片裁剪高度
};
actSheet();
if(index == 0){
options.sourceType = Camera.PictureSourceType.CAMERA;
} else if(index == 1){
options.sourceType = Camera.PictureSourceType.PHOTOLIBRARY;
}
$cordovaCamera.getPicture(options).then( function(imageData) {
AgentData.agent.photoSrc = 'data:image/jpeg;base64,' + imageData;
},
function (error) {
console.log(error);
}
);
return true;
}
});
但是在iOS内拍照和裁切的功能都没问题,但是确认以后,可以返回数据,但是无法正常显示在html内.
xcode内显示:
Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.
不知道是什么问题,望指教!!
--------------------自己答--------------------------
发现不显示的问题是安全设置的原因。
<meta http-equiv="Content-Security-Policy" content="img-src 'self' *;" ...... >
可以正常显示本地和网络的图片了。
但是使用post上传图片数据总是失败。
安卓是正常的。头疼!
会不会和你base64显示格式有关系
页:
[1]