ng-file-upload 接受任何文件类型,当 ngf-accept= "'image/*'"



使用此按钮上传文本文件,文件类型上的检查对我不起作用,该文件被认为有效。

    <button ng-hide="uploading" class="btn centered" type="file"
ngf-select="uploadFiles($file, $invalidFiles)" accept="'image/*'"
ngf-max-size="4MB" ngf-accept="'image/*'">
  {{(boardingData.profile_pic_url) ? "Change Photo" : "Upload a Photo"}}
</button>

我们在应用程序中相当大量使用ng-file-upload,但是我们不使用ngf-accept指令。但是,您无需使用它来过滤所传递的文件类型。假设您有以下<div>用于拖动:

<div ngf-drop="" ng-model="files" class="some_class_here" ngf-allow-dir="false">

然后,您的控制器中将有一个示波器变量,称为$scope.files。您只需检查$scope.filestype属性即可查看文件类型。如果您想检查以image/开头的文件,则可以使用以下方式:

if ($scope.files.startsWith("image/")) {
    console.log("You dragged an image file");
    // or whatever your logic is
}

您可以使用此信息从控制器适当地处理文件类型。请注意,并非所有文件都显示为具有类型,这也是要牢记的。

我知道这个问题是旧的,但是我仍然自己使用此工具,并且试图弄清楚为什么如果我指定了没有错误的ngf-accept,我为什么不能忽略accept。事实证明ngf-accept需要tick,而accept则不需要。

仅在ngf属性中使用'ticks,例如ngf-accept="'image/*'"ngf-pattern,例如ngf-pattern="'image/*'"ngf-pattern="'.jpg,.png'"

accept中,您应该使用accept="image/*"

最新更新