javascript - 图像宽度高度通过 AngularJS (ng-file-upload)

标签 javascript html angularjs ng-file-upload

我需要根据 1:3 的比例验证图像的宽度-高度。我正在使用 ng-file-upload 上传图像。在发送到服务器之前需要完成验证。

我不知道如何从所选图像中获取图像宽度/高度。有人可以帮我吗?

我正在关注此网站的教程: http://odetocode.com/blogs/scott/archive/2013/07/03/building-a-filereader-service-for-angularjs-the-service.aspx

最佳答案

这将是对该插件的功能请求。 作为解决方法,您可以这样做:

<div ngf-select ngf-model="image" ngf-validate-fn-async="validateRatio(image)" ngf-pattern="'image/*'" accept="image/*" >

$scope.validateRatio = function(image) {
  var defer = $q.defer();
  Upload.imageDimensions(image).then(function(d) {
    if (d.width / d.height === expectedRatio) {
      defer.resolve()
    } else {
      defer.reject();
    }
  }, function() {defer.reject();});
  return defer.promise;
}

<div ngf-select ngf-model="image" ngf-pattern="'image/*'" ngf-min-height="0" accept="image/*" >
<div ng-show="image.width && (image.width / image.height !== expectedRatio)">Invalid ratio?

编辑 已添加功能 你可以拥有

<div ngf-select ngf-model="image" ngf-ratio="1x3" ngf-pattern="'image/*'" accept="image/*" > 

关于javascript - 图像宽度高度通过 AngularJS (ng-file-upload),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32332652/

相关文章:

javascript - 源映射不是由 WebPack 生成的

javascript - div 的调整大小被忽略

javascript - 元素的比例定位

php - 无法在一个表单中上传多个文件

javascript - 何时在 AngularJS 中使用 $watch

javascript - angularjs - 计算日期加一天

javascript - angularjs Controller 执行 2 次

javascript - 检查字符串是否以给定的目标字符串结尾 | javascript

javascript - 在 ng-options 中显示最新添加的项目

javascript - 图片更改后如何刷新背景图片