当前位置: 网站首页>小程序开发>小程序制作

乐山400电话申请开通【乐山企业网站建设】乐山微信公众号小程序开发运营价格、乐山微信公众号APP软件客户端设计运营、乐山网页页面设计公司费用、乐山公司网站制作方案流程改版维护大概需要多少钱

发表日期: 2021-06-03 14:23:40 浏览次数:104

乐山400电话申请开通【乐山企业网站建设】乐山微信公众号小程序开发运营价格、乐山微信公众号APP软件客户端设计运营、乐山网页页面设计公司费用、乐山公司网站制作方案流程改版维护大概需要多少钱


网站建设.jpg

乐山,四川省辖地级市,古称嘉州,有“海棠香国”的美誉。位于四川省中部,四川盆地的西南部,地势西南高,东北低,属中亚热带气候带。乐山是四川省重要工业城市、成都经济区南部区域中心城市、重要枢纽城市、成渝城市群重要交通节点和港口城市。成昆铁路、成贵高铁贯穿全境。 [1]  乐山三江汇合。大渡河,青衣江在乐山大佛脚下汇入岷江。 [2] 

乐山是国家历史文化名城,国家首批对外开放城市、全国绿化模范城市、中国优秀旅游城市、国家园林城市、全国卫生城市。乐山有世界级遗产三处—世界自然与文化遗产峨眉山和乐山大佛、世界灌溉工程遗产东风堰,国家4A级景区以上景区15处,国家A级景区35处。 [3] 

截至2018年底,乐山市辖4区6县,代管1个县级市,总面积12720.03平方公里。2018年底户籍人口350.68万人,常住人口326.7万。 [3]  2020年乐山市地区生产总值2003.43亿元。 [50] 

2019年7月,被评为国家知识产权试点城市。 [5]  2020年10月20日,入选全国双拥模范城(县)名单。 [6] 



概述

该组件上传图片的大致思路:
利用H5的FileReader对象将上传的图片转成base64格式
利用canvas的drawImage方法重绘上传的图片(注:drawimage是一个异步方法,需要在图片读取成功后在进行重绘,否则可能会压缩不成功)
在利用canvas的toDataURL方法将图片压缩
在将压缩后的base64编码图片转成blob对象
创建一个formData对象,将blob对象append进去
图片上传时需设置请求为 { "Content-Type": "multipart/form-data" }
将formData对象上传到后台

html部分

<div class="upload">    <!— 图片展示 —>    <div class="cha" v-show="(imgUrl)">        <!— 删除icon —>        <div class="del">            <i class="el-icon-delete" @click="delImg"></i>        </div>        <img :src="imgUrl">        <!— 放大icon —>    </div>    <div class="layer">        <i @click="isEnlargeImage = true" class="el-icon-view"></i>    </div></div>    <!— 图片上传控件 —><div class="load" v-show="(!imgUrl)">    <input type="file" name="" id="form" @change="uploadIMG"></div>    <!— 图片预览弹框 —><el-dialog :visible.sync="isEnlargeImage" size="large"  :append-to-body="true" top="8%" width="60%">    <img @click="isEnlargeImage = false" style="width:100%;" :src="imgUrl"></el-dialog>

JS代码

<script>export default {    props: ["uploadUrl"],    data() {        return {            picavalue: "",            imgUrl: null,            isEnlargeImage: false        };    },    methods:{        uploadIMG(e) {            let files = e.target.files || e.dataTransfer.files;            if (!files.length) return;            this.picavalue = files[0];            console.log(this.picavalue.size / 1024);            if (this.picavalue.size / 1024 > 5000) {                this.$message({                    message: "图片过大不支持上传",                    type: "warning"                });            } else {                this.imgPreview(this.picavalue);            }        },    //获取图片        imgPreview(file, callback) {            let self = this;      //判断支不支持FileReader            if (!file || !window.FileReader) return;            if (/^image/.test(file.type)) {        //创建一个reader                let reader = new FileReader();        //将图片转成base64格式                reader.readAsDataURL(file);        //读取成功后的回调                reader.onloadend = function() {                    let result = this.result;                    let img = new Image();                    img.src = result;                    console.log("**未压缩前的图片大小**");                    console.log(result.length);                    img.onload = function() {                        let data = self.compress(img);                        self.imgUrl = result;                        let blob = self.dataURItoBlob(data);                        console.log("*base64转blob对象**");                        console.log(blob);                        var formData = new FormData();                        formData.append("file", blob);                        console.log("**将blob对象转成formData对象**");                        console.log(formData.get("file"));                        let config = {                            headers: { "Content-Type": "multipart/form-data" }                        };            // 发送请求;                        self.axios.post(self.uploadUrl.url, formData, config).then(res => {                            // console.log(res);                            // console.log(res.data.data.resultftphost)                            // console.log(res.data.data.resulturl)                            // this.$emit('')                        if (res.data.code == 200) {                            self.$emit("getImgsrc",                                res.data.data.resultftphost,                                res.data.data.resulturl                            );                        } else {                            self.$message({                                message: "图片上传失败,请重试",                                type: "warning"                            });                        }                    });                };            };        },    // 压缩图片        compress(img) {            let canvas = document.createElement("canvas");            let ctx = canvas.getContext("2d");            let initSize = img.src.length;            let width = img.width;            let height = img.height;            canvas.width = width;            canvas.height = height;      // 铺底色            ctx.fillStyle = "#fff";            ctx.fillRect(0, 0, canvas.width, canvas.height);            ctx.drawImage(img, 0, 0, width, height);      //进行最小压缩            let ndata = canvas.toDataURL("image/jpeg", 0.1);            // console.log("*压缩后的图片大小*");            // console.log(ndata)            // console.log(ndata.length);            return ndata;        },    // base64转成bolb对象        dataURItoBlob(base64Data) {            var byteString;            if (base64Data.split(",")[0].indexOf("base64") >= 0)            byteString = atob(base64Data.split(",")[1]);            else byteString = unescape(base64Data.split(",")[1]);            var mimeString = base64Data.split(",")[0].split(":")[1].split(";")[0];            var ia = new Uint8Array(byteString.length);            for (var i = 0; i < byteString.length; i++) {                ia[i] = byteString.charCodeAt(i);            }            return new Blob([ia], { type: mimeString });        },    //删除事件        delImg() {            this.imgUrl = null;        }    }};

style 部分

.upload {    position: relative;    width: 200px;    height: 220px;  // 图片展示    .cha {        position: absolute;        top: 0;        left: 0;        width: 100%;        height: 100%;        border-radius: 6px;        border: 1px dashed #cccccc;        overflow: hidden;        box-sizing: border-box;        .layer {            position: absolute;            top: 0;            left: 0;            z-index: 2;            width: 100%;            height: 200px;            background-color: rgba(0, 0, 0, 0.3);            text-align: center;            line-height: 200px;            opacity: 0;            color: #ffffff;            border: none;        }        .del {            position: absolute;            bottom: 0;            right: 0;            opacity: 0;            z-index: 2;            border: none;        }        img {            position: absolute;            top: 0;            left: 0;            width: 100%;            height: 200px;            border: none;        }    }  //鼠标放上时显示删除和放大    .cha:hover .layer,    .cha:hover .del {        opacity: 1;    }  //点击上传    .load {        position: absolute;        top: 0;        left: 0;        width: 200px;        height: 200px;        border: 1px dashed #cccccc;        input {            position: absolute;            top: 0;            left: 0;            width: 100%;            height: 100%;            opacity: 0;        }    }    .load::before {        content: "";        position: absolute;        top: 50%;        left: 50%;        transform: translateY(-50%);        width: 1px;        height: 80%;        border-right: 1px solid #cccccc;    }    .load:after {        content: "";        position: absolute;        top: 50%;        left: 50%;        transform: translateX(-50%);        width: 80%;        height: 1px;        border-top: 1px solid #cccccc;    }}



乐山400电话申请开通乐山企业网站建设乐山微信公众号小程序开发运营价格、乐山微信公众号APP软件客户端设计运营、乐山网页页面设计公司费用、乐山公司网站制作方案流程改版维护大概需要多少钱

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: http://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878