Javascript-форум (https://javascript.ru/forum/)
-   Мобильный JavaScript (https://javascript.ru/forum/mobile/)
-   -   input file (js/css) (https://javascript.ru/forum/mobile/82849-input-file-js-css.html)

Bells1q1 17.07.2021 16:55

input file (js/css)
 
Доброго времени суток.
Сделал кликабельную аватарку, всё как бы работает.
Нажатие - выбор файла - новая аватарка.
var avatar = document.createElement("INPUT"); avatar.type='file'; avatar.id = "avatar"; headProfile.appendChild(avatar);


Код:

#avatar{
  width: 85px; height: 85px; position: absolute; left: 10px; top: 19px; border-radius:10px;  cursor:pointer; background-size: 100% 100%; border: 1px solid white;
}

$(document).on('change','#avatar',function(event){
	event.preventDefault();
	var property = document.getElementById('avatar').files[0]; var image_name = property.name; var image_extension = image_name.split('.').pop().toLowerCase();
    if(jQuery.inArray(image_extension,['gif','jpg','jpeg','png']) == -1){
            alert("Неправильный формат");
    }else{
        var dt = dataRegister; var iu = idUsers;
        var form_data = new FormData(); form_data.append("file",property); form_data.append("number",accountesProfile); form_data.append("dt",dt); 
        $.ajax({
            url:'/server/upload.php', method:'POST', data:form_data, cache:false, processData: false, contentType: false,
                                       
            beforeSend:function(){
                        //$('#msg').html('Загрузка......');
            },
            success:function(data){
                console.log('data'+data)
	            data = JSON.parse(data); 
	            if(data.func == 'noImage'){
	                alert('Ошибка загрузки на сервере');
	            }
	            var avatarProfile = document.querySelector('#avatarProfile'); 
                     var avatar = document.querySelector('#avatar'); 
	            var upAvatar2 = '/server/avatar/'+data.fileName+'';
    
                avatarProfiles = upAvatar2;
                avatarAll = upAvatar2;
                profileBTN.style.backgroundImage = "url('"+avatarAll+"')";  
                avatar.style.backgroundImage = "url('"+avatarProfiles+"')"; 
            }
        });
    }
});


Ну и php код, но он по теме бесполезен

Все работает как задумано: на пк, на андроиде, но не на устройствах эпл. При нажатии через ios = открывает камеру :cray:
Мне вообще не нужна камера, можно ли как-то запретить на ios открытие камеры или убрать меню выбора и чтобы аватарку можно было загрузить только через хранилище на телефоне?

Aetae 17.07.2021 17:02

Быстрый гугл говорит - хер там. Safari - это новый IE.


Часовой пояс GMT +3, время: 20:11.