javascript angualr 补全文件路径 + 检查图片类型 大小 尺寸

1、检查当前图片路径是全路径还是相对路径,相对路径,则自动补全域名。

// 补全图片路径
export const changeImgUrl = (newUrl) => {
  let isChange = newUrl.indexOf('http');
  let urlPrefix = 'https://demo.img.com/';
  if (isChange > -1) {
    return newUrl;
  } else if (isChange < 0) {
    return urlPrefix + newUrl;
  }
};

2、检查上传的图片文件类型是否符合要求(类型手动修改或添加)

// 校验上传图片的文件类型是否符合
export const checkImgType = (event: any) =>{
  let fileName = event.target.value.split('.');
  if(fileName[fileName.length-1] === 'png' ||
      fileName[fileName.length-1] === 'jpg' ||
      fileName[fileName.length-1] === 'jpeg' ||
      fileName[fileName.length-1] === 'bmp' ||
      fileName[fileName.length-1] === 'PNG' ||
      fileName[fileName.length-1] === 'JPG' ||
      fileName[fileName.length-1] === 'JPEG' ||
      fileName[fileName.length-1] === 'BMP'
  ){
      return true;
  } else{
      alert('请按照格式要求上传头图')
    return false;
  }
};

3、校验上传的图片大小是否符合规则

// 检查图片的大小
export const checkImgSize = (event: any, size: number) =>{
    let file = [];
    for(var i=0;i<event.target.files.length;i++){
        file.push(event.target.files[i]);
    };

    var f =file[0]
    if(f.size > size * 1024){
        alert('请按照格式要求上传头图')
        return false;

    } else {
        return true
    }

};

4、检查上传的图片的尺寸大小

// 检查图片的尺寸
export const checkImgWH = (event:any, w:number, h:number) =>{
    var f = event.target['files'][0];

    var reader = new FileReader();
    var width;
    var height;
    reader.onload = function (e) {
        var data = e.target['result'];
        //加载图片获取图片真实宽度和高度
        var image = new Image();
        image.onload = function () {
            width = image.width;
            height = image.height;
        };
        image.src = data;
    };
    reader.readAsDataURL(f);

    console.log(width + '======' + height);
    if(Number(width) > w){
        alert('请按照格式要求上传头图')
        return false
    }

    if(Number(height) > h){
        alert('请按照格式要求上传头图')
        return false
    }
};

 

 

 

 

 

 

转载于:https://my.oschina.net/wsxiao/blog/2221614

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值