JavaScript獲取遠程圖片的尺寸和大小
通過image.onload讀取長度和寬度,通過ajax請求獲取大小.
一直以來我都以為前端只能讀取圖片的寬度和高度,以及本地上傳圖片的大小(通過FileReader),但不能獲取到遠程圖片的大小。
昨天在搜索時突然意識到,http headers中包含Content-Length
參數,這不就是大小嗎?!然后立馬在console輸入$.get(src, function(data, statusText, res){res.getAllResponseHeaders()})
,這不就搞定了嘛!
但是我高興太早了 把這個放在代碼里,愣是不顯示Content-Length
!
然后繼續分析輸出,嘿嘿,**data**不就是圖片嗎?其長度不就是圖片原始大小嗎?!
是的,事情就是這個樣子的 代碼如下:
var img = new Image(); img.onload = function() { // 先獲取長度和寬度(像素) $.ajax({ // 再獲取圖片大小(kb) url: src, type: 'GET', processData: false, complete: function(xhr, statusText) { console.log(img.width, img.height, xhr.status === 200 ? (xhr.responseText.length/1024).toFixed(2) : 0); } }); }; img.src = src;
本文由用戶 encn 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!