| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- let lastFile = null;
- let sourceImage;
- let options = {
- quality: 0.92,
- noCompressIfLarger: true
- // maxWidth: 1000,
- // maxHeight: 618
- }
- $("#select").change(function(){
- options.outputType = this.files[0].type;
- sourceImage = new Image();
- let sourceUrl = URL.createObjectURL(this.files[0]);
- sourceImage.src = sourceUrl;
- sourceImage.onload = () => {
- compress(this.files[0]);
- }
- })
- $('input[type="range"]').each(function() {
- let name = $(this).attr("name");
- $(this).val(options[name])
- $(this).next().text(options[name])
- $(this).on("change", function(){
- options = Object.assign(options, {[name]: +$(this).val()});
- $(this).next().text(options[name])
- compress();
- })
- })
- function compress(file){
- file = file || lastFile;
- lastFile = file;
- URL.revokeObjectURL($(".distImage img").attr("src"));
- URL.revokeObjectURL($(".sourceImage img").attr("src"));
- $(".distImage img").attr("src", "");
- $(".sourceImage img").attr("src", "");
- $(".distImage pre").text("");
- $(".sourceImage pre").text("");
- qiniu.compressImage(file, options).then(data => {
- $(".distImage img").attr("src", URL.createObjectURL(data.dist))
- $(".sourceImage img").attr("src", URL.createObjectURL(file));
- $(".distImage pre").text("File size:" + (data.dist.size / 1024).toFixed(2) + "KB" + "\n" + "File type:" + data.dist.type + "\n" + "Dimensions:" + data.width + "*" + data.height + "\n" + "ratio:" + (data.dist.size / file.size).toFixed(2) * 100 + "%")
- $(".sourceImage pre").text("File size:" + (file.size / 1024).toFixed(2) + "KB" + "\n" + "File type:" + file.type + "\n" + "Dimensions:" + sourceImage.width + "*" + sourceImage.height)
- }).catch(res => {
- console.log(res)
- })
- }
|