我正在使用 ng-file-upload 和 ngImgCropExtended。
一切都很好,我唯一的问题是,当验证失败时,它会静默失败,没有通知用户。
我将 ngf-validate-fn="validate($file)" 添加到我的上传按钮,可以看到错误,但无法访问或检查错误。
我的html:
<button
id ="bannerUpload"
ngf-validate-fn="validate($file)"
ngf-accept="'image/*'"
ngf-min-width = "1600"
ngf-max-size = "1.3MB"
ngf-pattern="'.png, .jpg, .JPEG, .jpeg'"
ngf-select="handleFileSelect($file)"
ngf-drop = "handleFileSelect($file)"
ng-model="picFile" accept="image/*"></button>
控制器:
.controller('galleryController', ['$scope', '$attrs', '$http', 'Upload', '$timeout', function ($scope, $attrs, $http, Upload, $timeout) {
$scope.validate = function($file ){
console.log($file);
console.log( $file.constructor );
}
文件使用 $error 对象记录,但我似乎无法访问它。我可以访问文件对象的其他属性,例如名称。
如果我记录构造函数,它会给我
function File() { [native code] }
如果我记录它给我的 File 对象(例如)
File{}
$error: "minWidth"
$errorMessages: Object
$errorParam: 1600
$ngfBlobUrl: 'theUrlOfTheImage'
$ngfHeight: 274
$ngfWidth: 316
lastModified: 145437567099
name: nameOfMyImage.jpg
我可以使用 $file.name 访问普通属性,例如名称。$file.$error 返回未定义。$file.$error() 什么都不返回,没有错误没有日志。正如文档所说,还尝试了 $file.validate.$error
ngf-validate-fn="validate($file)" // 自定义验证函数,返回包含错误的布尔值或字符串。// 验证错误名称:validateFn
最后尝试了 JSON.stringify( $file ) 但这会返回一个空对象 {}