0
JavaScript-Load-Image 기능 loadImage(...)
을 사용합니다. 하지만 base64 문자열은 FileReader()
을 통해로드하는 것보다 대략 2-4 배 더 길다.JavaScript-Load-Image 라이브러리를 사용하여 파일에서 이미지를로드하면 이미지 크기가 4 배 확대됩니다.
저는 이미 큰 파일을 다루고 있으므로 훨씬 더 클 수 없습니다.
var reader = new FileReader();
reader.onload = function() {
console.log('initial length:', this.result.length);
};
reader.readAsDataURL(image_file);
대
loadImage(
file,
function (img) {
console.log('resized length:', img.toDataURL().length);
},
{
orientation: true
}
);
어떤 결과 :
24,839 대 107,482
2,498,383 대 5,898,430
2,391,783 대 5,955,498
예, base64 인코딩은 크기를 늘립니다. 질문이 뭐야? –
그들은 모두 base64로 인코딩하고 두 가지 다른 크기의 결과를 나타냅니다. – benwiz
... 그리고 당신의 질문은 왜 다른 크기입니까? 질문에는 일반적으로 물음표가 있습니다. 왜 그들이 서로 다른지에 관해서는 링크 된 페이지에서 라이브러리는 이미지에 대해 일종의 변형을 수행합니다. ''toDataUrl()'(https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL)도 호출하고 있는데, 이는 img이' canvas' 엘리먼트는 또한 약간의 오버 헤드를 추가 할 것이고, 기본 이미지 포맷은 "image/png"이며 원래의 포맷과 다를 수도 있습니다 ... –