如何让<input type=“file”>只接受.jpeg和.jpg文件?

New*_*Nik 5 html user-input angular

在我的 Angular 11 项目中,我有一个图像上传器组件,用于<input type="file">接受图像并将其发送到服务器。该图像上传器应该只接受 jpg 和 jpeg 格式。

当我将accept属性添加到我的输入时,如下所示:

      <input
        type="file"
        accept="image/png"
      />
Run Code Online (Sandbox Code Playgroud)

我的系统以正确的显示格式打开文件,如下所示:

在ubuntu中打开文件

哪个是对的。它向用户表明它只接受 .png 图像。

但是当我将accept输入中的属性更改为:

      <input
        type="file"
        accept="image/jpg, image/jpeg"
      />
Run Code Online (Sandbox Code Playgroud)

它不再向用户显示他们应该使用哪种格式,如您所见:

在ubuntu中打开文件

它只是说我的 ubuntu 上的自定义文件,我猜 Windows 中的所有文件。这不是我想要的。用户应该能够看到他们只允许在此处添加 jpg 或 jpeg 文件。例如 *.jpg 或 *jpeg。

有没有办法来解决这个问题?

小智 5

尝试将其更改为accept =“image/jpeg”或accept =“.jpg,.jpeg”

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file