gpt4 book ai didi

angularjs - 如何使用 angular-file-upload 获取图像尺寸

转载 作者:行者123 更新时间:2023-12-04 18:41:19 25 4
gpt4 key购买 nike

我目前正在使用 angular-file-upload指令,我几乎使用演示中的确切代码。

我需要在那里添加一个步骤来测试图像的尺寸,我目前只能通过 jQuery/javascript 进行处理。

只是想知道是否有一种“Angular ”方式可以在上传之前检查图像的尺寸?

$scope.uploadImage = function($files) {
$scope.selectedFiles = [];
$scope.progress = [];

if ($scope.upload && $scope.upload.length > 0) {
for (var i = 0; i < $scope.upload.length; i++) {
if ($scope.upload[i] !== null) {
$scope.upload[i].abort();
}
}
}
$scope.upload = [];
$scope.uploadResult = [];
$scope.selectedFiles = $files;
$scope.dataUrls = [];

for ( var j = 0; j < $files.length; j++) {
var $file = $files[j];
if (/*$scope.fileReaderSupported && */$file.type.indexOf('image') > -1) {
var fileReader = new FileReader();
fileReader.readAsDataURL($files[j]);
var loadFile = function(fileReader, index) {
fileReader.onload = function(e) {
$timeout(function() {
$scope.dataUrls[index] = e.target.result;

//------Suggestions?-------//
$('#image-upload-landscape').on('load', function(){
console.log($(this).width());
});
//-------------------------//
});
};
}(fileReader, j);
}
$scope.progress[j] = -1;
if ($scope.uploadRightAway) {
$scope.start(j);
}

}
};

最佳答案

我认为你可以通过以下方式做到:

var reader = new FileReader();
reader.onload = onLoadFile;
reader.readAsDataURL(filtItem._file);

function onLoadFile(event) {
var img = new Image();
img.src = event.target.result;
console.log(img.width, img.height)
}

这是从 https://github.com/nervgh/angular-file-upload/blob/master/examples/image-preview/directives.js 复制的代码片段.

我认为这是更多的angularjs。但是,您可能需要对其进行修改以满足您的要求。

关于angularjs - 如何使用 angular-file-upload 获取图像尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25496567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com