我的视图中有以下代码:
<div class="ponkey-add-top">
<button class="button add-picture" ng-click="popover.show($event)"><i class="fa fa-plus"></i>Add picture</button><br />
<img ng-show="imgURI !== undefined" ng-src="{{imgURI}}" class="take_picture">
<label class="item item-input">
<textarea class="ponkey-add-note-textarea" ng-model="data.text" placeholder="Your note..."></textarea>
</label>
</div>
从我的图库中选择图片或拍照后,预览不会显示。这适用于iOS而不是Android。现在它无法在这两种设备上运行。
控制器有这个:
$cordovaCamera.getPicture(options).then(function (imageData) {
$scope.imgURI = "data:image/jpeg;base64," + imageData;
$scope.image = imageData;
$scope.popover.hide();
});
提交时,图像数据被发送到服务器,因此图片存在。
我忽略了什么吗?
答案 0 :(得分:0)
适用于多种图像选择 - 适用于iOS和Android 4.0 以及。
安装只需运行此命令
cordova plugin add cordova-plugin-image-picker
示例 - 获取全尺寸图像(所有默认选项):
module.controller('ThisCtrl', function($scope, $cordovaImagePicker) {
var options = {
maximumImagesCount: 10,
width: 800,
height: 800,
quality: 80
};
$cordovaImagePicker.getPictures(options)
.then(function (results) {
for (var i = 0; i < results.length; i++) {
console.log('Image URI: ' + results[i]);
}
}, function(error) {
// error getting photos
});
});
答案 1 :(得分:0)
我终于想出了我必须做的事情。问题中发布的功能和视图是正确的。
但是在index.html中,我必须使用Content-Security-Policy
更多地指定img-src 'self' data:
,并将以下代码添加到apps.js:
.config(function ($compileProvider) {
$compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|file|blob|cdvfile):|data:image\//);
})