1
我使用Filereader API顯示照片上傳的小縮略圖。但是,我遇到了問題。當你上傳真正大的圖片,並且你上傳了一些圖片時,它開始滯後。縮略圖非常小,但文件太大。有沒有辦法來解決這個問題?這是我的javascript:Filereader圖像縮略圖延遲
document.querySelector('input').addEventListener('change', function(e){
var files = e.target.files;
for(var i = 0; i < files.length; i++){
var f = files[i];
var reader = new FileReader();
reader.onload = (function(tf){
return function(evt){
document.querySelector('.thumbs').innerHTML += '<div class="thumb" style="background-image: url('+evt.target.result+')"></div>';
}
})(f);
reader.readAsDataURL(f);
}
});
這裏是一個小提琴,你可以測試它:https://jsfiddle.net/snx79yw2/1/。例如,我用6000x4000的照片測試了它,當超過4,5張時,它們開始滯後(而且我的PC非常不錯,所以它不應該像那樣落後)。
順便說一句我指的是減速,凍結等,而不是實際的滯後。
我發現this post但我真的不知道如何從該答案中實現解決方案。 Thx提前!
謝謝,這是偉大的。我有幾個問題,但:1)是否可以更改縮放方法(以刪除別名)? 2)我不能使用ES6,承諾是否真的是必要的?我如何解決他們? – nick
2)我編輯我的答案使用回調,而不是承諾。 1)可能,但我對圖像處理知之甚少,無法在這裏找到答案。 –
謝謝,我在這裏找到了一個解決方案,所以我要融入這兩個! – nick