美文网首页
fileupload结合image-conversion按比例压

fileupload结合image-conversion按比例压

作者: 无敌SOUL | 来源:发表于2019-03-11 17:53 被阅读0次

在项目中遇到需要在上传图片之前按比例压缩宽高和质量,实现完成记录一下
fileupload所需库及api:(https://github.com/blueimp/jQuery-File-Upload/wiki/API)
缩图片参考的文档:掘金地址github的api

知识点:
在add回调里重新调用.fileupload 可以传递额外的参数或者覆盖原需要上传的文件

$(".file-upload").fileupload({
                                  fileInput: res,
                                    formData: {
                                        name: res
                                    }
                                })

imageConversion.compress方法在掘金里作者已说明这里就不赘述了
在done方法里主要写上传成功之后回调 回显到页面上 暂时有错误 等代码修改之后重新修改文章

$(".file-upload").fileupload({
                url: "XXXXXXXX",
                dataType: 'json',
                add: function (e, data) {
                    const file = data.files[0];
                    var reader = new FileReader();
                    reader.onload = function (e) {
                        var imgurl = e.target.result;
                        //加载图片获取图片真实宽度和高度
                        var image = new Image();
                        image.onload = function () {
                            var width = image.width > 500 ? 500 : image.width;
                            var height = image.width > 500 ? 500 / image.width * image.height : image.height;
                            //压缩图片
                            imageConversion.compress(file, {
                                quality: 0.8,
                                width: width,
                                height: height,
                            }).then(res=> {
                                //压缩成功后重新上传
                                console.log(res);
                                $(".file-upload").fileupload({
                                    fileInput: res,
                                    formData: {
                                        name: res
                                    }
                                })
                                $("#logining").show();
                                data.submit();
                            })
                        };
                        image.src = imgurl;
                    };
                    reader.readAsDataURL(file);

                    
                },
                done: function (e, rep) {
                    var response = rep.result;
                    if (response.code == 0) {
                        var imageDomId = e.target.id.replace(/^file-/g, "");
                        if (imageDomId == "defaultimg") {
                            //新增图片
                            $("#defaultimg").attr("src", "http://" + response.data);
                            $("#fileSrc").val(response.data)
                            $("#logining").hide();

                        }
                    } else {
                        alert("上传失败:" + response.message);
                        $("#logining").hide();
                    }
                },
                fail: function () {
                    alert("上传失败:" + response.message);
                    $("#logining").hide();
                }
            });

相关文章

  • fileupload结合image-conversion按比例压

    在项目中遇到需要在上传图片之前按比例压缩宽高和质量,实现完成记录一下fileupload所需库及api:(http...

  • 按比例抽奖

    需求描述 一张Excel表,35000条记录。按其中一个字段地域 可划分为22种类型。 现要求,根据22种地域所占...

  • iOS 图片按比例缩放

    1.按比例缩放。 2.指定宽度按比例缩放。

  • vue3 + element-plus 用 image-conv

    自动上传 image-conversion[https://www.npmjs.com/package/image...

  • 图片按比例缩放

    1.按比例缩放。 //按比例缩放,size是你要把图显示到 多大区域 ,例如:CGSizeMake(300, 40...

  • AutoLayout按比例走

    1.如果某个视图是根据父视图的大小而定,那么可以把按着control键,拉一条线到它的父视图上面,选择一个Equi...

  • 图片按比例缩放

    按比例缩小

  • 理解按比例分配

    按比例分配实际问题的数量关系并不复杂,且学生在前面的学习中已经积累了比较丰富的解决简单的分数乘除法实际问题的经验,...

  • android图片压缩

    1. 质量压缩方法 2. 图片按比例大小压缩方法 3. 正常情况下我们应该把两者相结合的

  • java_文件上传/下载

    1、文件上传 JSP Servlet 组件: fileupload 阿帕奇 1.fileupload:组件可以将所...

网友评论

      本文标题:fileupload结合image-conversion按比例压

      本文链接:https://www.haomeiwen.com/subject/mznbpqtx.html