本帖最后由 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上传图片数据总是失败。
安卓是正常的。头疼!
|