>  기사  >  웹 프론트엔드  >  jQuery.ajax를 사용하여 이미지를 blob으로 검색할 수 없는 이유는 무엇입니까?

jQuery.ajax를 사용하여 이미지를 blob으로 검색할 수 없는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-13 03:58:01887검색

Why can't you use jQuery.ajax to retrieve images as blobs?

XMLHttpRequest를 사용하여 이미지를 Blob으로 검색

jQuery.get을 사용하여 이미지를 검색하고 Blob에 저장한 후 다른 서버에 업로드하려고 합니다. 그러나 데이터 유형의 불일치로 인해 이미지가 손상됩니다.

jQuery ajax를 사용하여 이미지를 blob으로 검색할 수 없는 이유는 무엇입니까?

jQuery.ajax 이미지 검색을 지원하지 않습니다. blobs.

솔루션

이미지를 blob으로 검색하려면 기본 XMLHttpRequest를 사용해야 합니다.

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
    if (this.readyState == 4 && this.status == 200){
        //this.response is what you're looking for
        handler(this.response);
        console.log(this.response, typeof this.response);
        var img = document.getElementById('img');
        var url = window.URL || window.webkitURL;
        img.src = url.createObjectURL(this.response);
    }
}
xhr.open('GET', 'http://jsfiddle.net/img/logo.png');
xhr.responseType = 'blob';
xhr.send();      

업데이트 jQuery 3

jQuery 3부터는 다음이 가능합니다. jQuery.ajax를 사용하여 이미지를 blob으로 검색합니다.

jQuery.ajax({
        url:'https://images.unsplash.com/photo-1465101108990-e5eac17cf76d?ixlib=rb-0.3.5&q=85&fm=jpg&crop=entropy&cs=srgb&ixid=eyJhcHBfaWQiOjE0NTg5fQ%3D%3D&s=471ae675a6140db97fea32b55781479e',
        cache:false,
        xhr:function(){// Seems like the only way to get access to the xhr object
            var xhr = new XMLHttpRequest();
            xhr.responseType= 'blob'
            return xhr;
        },
        success: function(data){
            var img = document.getElementById('img');
            var url = window.URL || window.webkitURL;
            img.src = url.createObjectURL(data);
        },
        error:function(){
            
        }
    });

위 내용은 jQuery.ajax를 사용하여 이미지를 blob으로 검색할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.