Как разрешить принимать только файлы изображений?

Мне нужно загрузить только файл изображения с помощью тега .

Сейчас он принимает все типы файлов. Но я хочу ограничить его только определенными расширениями файлов изображений, которые включают .jpg , .gif и т. Д.

Как я могу достичь этой функциональности?

326
задан meDeepakJain 26 June 2019 в 06:55
поделиться

1 ответ

Используя тип = "файл" и принимает = "изображение /*" (или формат, который Вы хотите), позвольте пользователю, выбрал файл с определенным форматом. Но у Вас есть к проверке ре он снова в стороне клиента, потому что пользователь может выбрать другой тип файлов. Это работает на меня.

<input #imageInput accept="image/*" (change)="processFile(imageInput)" name="upload-photo" type="file" id="upload-photo" />

И затем, в Вашем сценарии

processFile(imageInput) {
    if (imageInput.files[0]) {
      const file: File = imageInput.files[0];
      var pattern = /image-*/;

      if (!file.type.match(pattern)) {
        alert('Invalid format');
        return;
      }

      // here you can do whatever you want with your image. Now you are sure that it is an image
    }
  }
JavaScript
0
ответ дан 23 November 2019 в 00:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: