我正在上传图片,或者从Angular应用中的相机中获取:
<button type="button" onclick="userData.store()">send now</button><br>
<input type="file" label="add photo" accept="image/*;capture=camera">
然后(现在)用这个Javascript处理它:
var input = document.querySelector('input[type=file]');
var issuediv = document.getElementById('issue');
input.onchange = function () {
var file = input.files[0];
displayAsImage(file);
};
function displayAsImage(file) {
var imgURL = URL.createObjectURL(file),
img = document.createElement('img');
img.onload = function() {
URL.revokeObjectURL(imgURL);
};
img.src = imgURL;
issuediv.appendChild(img);
}
两个问题:
img
标记,只显示一个小缩略图。答案 0 :(得分:3)
您可以使用Daniel Afarid's Angular File Upload
控制器
$scope.selectedFiles = [];
$scope.dataUrls = [];
$scope.model = 'test model';
$scope.onImageSelect = function($files) {
$scope.selectedFiles['image'] = $files[0];
var $file = $files[0];
if (window.FileReader && $file.type.indexOf('image') > -1) {
var fileReader = new FileReader();
fileReader.readAsDataURL($files[0]);
fileReader.onload = function(e) {
$timeout(function() {
$scope.dataUrls['image'] = e.target.result;
});
}
}
}
$scope.save_image = function(){
$upload.upload({
data:$scope.model,
url: 'the/url',
file: $scope.selectedFiles['image']
}).then(//success and error callbacks);
}
查看
<form enctype="multipart/form-data" class="form-horizontal">
<input type="file" ng-file-select="onImageSelect($files)">
<br />
<img ng-show="dataUrls['image']" ng-src="{{dataUrls['image']}}">
<button ng-click="save_image()"></button>
</form>