Image resize before upload

后端 未结 9 1547
闹比i
闹比i 2020-11-28 03:09

I need to provide a means for a user to upload photos to their web site in jpeg format. However, the photos are very large in original size, and I would like to make the re

9条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-11-28 03:36

    Pure JavaScript solution. My code resizes JPEG by bilinear interpolation, and it doesn't lose exif.

    https://github.com/hMatoba/JavaScript-MinifyJpegAsync

    function post(data) {
        var req = new XMLHttpRequest();
        req.open("POST", "/jpeg", false);
        req.setRequestHeader('Content-Type', 'image/jpeg');
        req.send(data.buffer);
    }
    
    function handleFileSelect(evt) {
        var files = evt.target.files;
    
        for (var i = 0, f; f = files[i]; i++){
            var reader = new FileReader();
            reader.onloadend = function(e){
                MinifyJpegAsync.minify(e.target.result, 1280, post);
            };
            reader.readAsDataURL(f);
        }
    }
    
    document.getElementById('files').addEventListener('change', handleFileSelect, false);
    

提交回复
热议问题