使用jQuery 的AJAX 方法將影像檢索為Blob
不直接支援使用jQuery 的AJAX 方法將擷取影像擷取為Blob,因為可擷取接受的資料類型不包括圖像格式。這種不匹配通常會導致影像損壞。
要克服此限制,您可以使用本機 XMLHttpRequest 而不是 jQuery 的 AJAX 方法。這種方法可讓您將responseType明確設定為「blob」:
var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { handler(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,可以將影像擷取為blob:
jQuery.ajax({ url: 'https://images.unsplash.com/...', cache: false, xhr: function() { 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() {} });
利用此方法,您可以有效率地以blob 形式檢索映像,然後執行操作,例如透過POST 請求將它們上傳到另一台伺服器。
以上是如何使用 jQuery 的 AJAX 方法以 Blob 形式檢索影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!