Как отфильтровать тип файла для изображения в JavaScript?

#javascript #jquery #photo

Вопрос:

Как отфильтровать тип изображения в этом коде ? Я хочу разрешить только тип файла с jpg, jpeg and png only ?

Я пробовал использовать этот код, но он не работает

 $(".doc").click(function()  {$("#doc_attach").click();});
        $("#doc_attach").change(function()
        {
            let width  = 0;
            let height = 0;
            let photo  = $(this).prop("files")[0];

            if(photo.type == 'image/jpg' || photo.type == 'image/png' || photo.type == 'image/jpeg' ){
                let index;
                index = doc_temp.push({"file": photo}) - 1;
                   ....
                }
                else if( photo.type == 'application/pdf'){
                    let index;
                    index = doc_temp.push({"file": photo}) - 1;  
                }
                else{
                    Swal.fire({
                    icon: 'error',
                    title: 'Oops...',
                    text: 'Sorry only file type with jpg and pdf are allowed!',
                    
                    })
                }

        });


 

Я попытался загрузить изображение с png помощью, но это было неправильно, и oops появилось всплывающее окно. Как мне правильно отфильтровать его ?

Комментарии:

1. итак, какова ценность photo.type вашего кода?

Ответ №1:

вы также можете добиться этого с помощью атрибута «принять» для ввода html. Подобный этому:

 <input type="file" name="myImage" accept="image/png, image/jpeg, image/jpg" />
 

Комментарии:

1. если вы хотите использовать для этого javascript, вам необходимо проверить расширение имени файла. свойства «photo.type» не существует, поэтому вам необходимо проверить, действительны ли расширения. Смотрите здесь: geeksforgeeks.org/…