diff --git a/demo/src/main/webapp/js/ng-file-upload-all.js b/demo/src/main/webapp/js/ng-file-upload-all.js
index e3423511..956eab3a 100644
--- a/demo/src/main/webapp/js/ng-file-upload-all.js
+++ b/demo/src/main/webapp/js/ng-file-upload-all.js
@@ -1911,29 +1911,29 @@ ngFileUpload.service('UploadValidate', ['UploadDataUrl', '$q', '$timeout', funct
var deffer = $q.defer();
var promises = [];
- promises.push(validateAsync('maxHeight', 'height.max', /image/,
+ promises.push(validateAsync('maxHeight', 'height.max', /image|video/,
this.imageDimensions, function (d, val) {
return d.height <= val;
}));
- promises.push(validateAsync('minHeight', 'height.min', /image/,
+ promises.push(validateAsync('minHeight', 'height.min', /image|video/,
this.imageDimensions, function (d, val) {
return d.height >= val;
}));
- promises.push(validateAsync('maxWidth', 'width.max', /image/,
+ promises.push(validateAsync('maxWidth', 'width.max', /image|video/,
this.imageDimensions, function (d, val) {
return d.width <= val;
}));
- promises.push(validateAsync('minWidth', 'width.min', /image/,
+ promises.push(validateAsync('minWidth', 'width.min', /image|video/,
this.imageDimensions, function (d, val) {
return d.width >= val;
}));
- promises.push(validateAsync('dimensions', null, /image/,
+ promises.push(validateAsync('dimensions', null, /image|video/,
function (file, val) {
return upload.emptyPromise(val);
}, function (r) {
return r;
}));
- promises.push(validateAsync('ratio', null, /image/,
+ promises.push(validateAsync('ratio', null, /image|video/,
this.imageDimensions, function (d, val) {
var split = val.toString().split(','), valid = false;
for (var i = 0; i < split.length; i++) {
@@ -1943,21 +1943,21 @@ ngFileUpload.service('UploadValidate', ['UploadDataUrl', '$q', '$timeout', funct
}
return valid;
}));
- promises.push(validateAsync('maxRatio', 'ratio.max', /image/,
+ promises.push(validateAsync('maxRatio', 'ratio.max', /image|video/,
this.imageDimensions, function (d, val) {
return (d.width / d.height) - upload.ratioToFloat(val) < 0.0001;
}));
- promises.push(validateAsync('minRatio', 'ratio.min', /image/,
+ promises.push(validateAsync('minRatio', 'ratio.min', /image|video/,
this.imageDimensions, function (d, val) {
return (d.width / d.height) - upload.ratioToFloat(val) > -0.0001;
}));
promises.push(validateAsync('maxDuration', 'duration.max', /audio|video/,
this.mediaDuration, function (d, val) {
- return d <= upload.translateScalars(val);
+ return d.duration <= upload.translateScalars(val);
}));
promises.push(validateAsync('minDuration', 'duration.min', /audio|video/,
this.mediaDuration, function (d, val) {
- return d >= upload.translateScalars(val);
+ return d.duration >= upload.translateScalars(val);
}));
promises.push(validateAsync('duration', null, /audio|video/,
function (file, val) {
@@ -2007,13 +2007,21 @@ ngFileUpload.service('UploadValidate', ['UploadDataUrl', '$q', '$timeout', funct
var deferred = $q.defer();
$timeout(function () {
if (file.type.indexOf('image') !== 0) {
- deferred.reject('not image');
- return;
+ if(file.type.indexOf('video') === 0){
+ return upload.mediaDuration(file).then(function(res){
+ deferred.resolve(res);
+ },function(){
+ deferred.reject('video dimension problem');
+ });
+ } else {
+ deferred.reject('not image');
+ return;
+ }
}
upload.dataUrl(file).then(function (dataUrl) {
var img = angular.element('
').attr('src', dataUrl)
- .css('visibility', 'hidden').css('position', 'fixed')
- .css('max-width', 'none !important').css('max-height', 'none !important');
+ .css('visibility', 'hidden').css('position', 'fixed')
+ .css('max-width', 'none !important').css('max-height', 'none !important');
function success() {
var width = img[0].naturalWidth || img[0].clientWidth;
@@ -2066,7 +2074,7 @@ ngFileUpload.service('UploadValidate', ['UploadDataUrl', '$q', '$timeout', funct
if (file.$ngfDuration) {
var d = $q.defer();
$timeout(function () {
- d.resolve(file.$ngfDuration);
+ d.resolve({width: file.$ngfWidth, height: file.$ngfHeight, duration: file.$ngfDuration});
});
return d.promise;
}
@@ -2080,13 +2088,20 @@ ngFileUpload.service('UploadValidate', ['UploadDataUrl', '$q', '$timeout', funct
}
upload.dataUrl(file).then(function (dataUrl) {
var el = angular.element(file.type.indexOf('audio') === 0 ? '