JavaScript 上传文件限制参数案例详解

 更新时间:2021年09月13日 14:30:45   作者:箴水_Protaos  
这篇文章主要介绍了JavaScript 上传文件限制参数案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

项目场景:

1,上传文件限制

功能作用:

1,防止前端操作上传异常文件
2,限制符合的规则,优化展示模型

功能实现:

1,获取file实例
2,执行校验规则方法

代码如下:

//大小限制
checkFileSize(file, rules) {
    return new Promise((resolve, reject) => {
        file.size / 1024 / 1024 > rules ? reject() : resolve()
    }).then(
        () => {
          return true
        },
        () => {
			//操作提示
          return Promise.reject()
        }
    )
},
//上传格式限制
checkFileType(file, rules) {
    return new Promise((resolve, reject) => {
        rules && rules.includes(file.type) ? resolve() : reject()
    }).then(
      () => {
          return true
      },
      () => {
          //操作提示
          return Promise.reject()
      }
    )
},
//宽高比例(图片)
checkImageWH(file, rules) {
    const _this = this
    return new Promise((resolve, reject) => {
    	//读取文件
        const filereader = new FileReader()
        filereader.readAsDataURL(file)
        filereader.onload = e => {
          const src = e.target.result
          const image = new Image()
          image.onload = function() {
			//分析数据,对数据进行判断 符合规则 resolve()
		}
          image.onerror = reject
          image.src = src
        }
    }).then(
        () => {
          return true
        },
        () => {
          //操作提示
          return Promise.reject()
        }
    )
},
//宽高比例(视频)
checkVideoWH(file, rules) {
      return new Promise(function(resolve, reject) {
        var url = URL.createObjectURL(file)
        var video = document.createElement('video')
        video.onloadedmetadata = evt => {
          URL.revokeObjectURL(url)
          //分析数据,对数据进行判断 符合规则 resolve()
        }
        video.src = url
        video.load() // fetches metadata
      }).then(
        () => {
          return true
        },
        () => {
          //操作提示
          return Promise.reject()
        }
      )
}

实际调用

//获取file实例
Screen(){
	//获取权限规则
    const { filesSize, filesFormat, fileLimit} = this    // 文件大小、文件类型、图片/视频宽高限制
    //传参判断
    const isFileSize = filesSize ? await this.checkFileSize(file, filesSize) : true
    const isFileType = filesFormat ? await this.checkFileType(file, filesFormat) : true
	//图片素材   
    if (fileLimit && fileLimit.type * 1 === 1) {
      const isImageLimit = fileLimit? await this.checkImageWH(file, fileLimit) : true
      //输出结果
      return isFileSize && isFileType && isImageLimit
    } else if (fileLimit&& fileLimit.type * 1 === 2) {
    //视频素材
      const isVideoLimit = fileLimit? await this.checkVideoWH(file, fileLimit) : true
      //输出结果
      return isFileSize && isFileType && isVideoLimit
    } else {
    //不限制
    //输出结果
      return isFileSize && isFileType
    }
}

内容总结:

1,获取实例
2,执行方法。

到此这篇关于JavaScript 上传文件限制参数案例详解的文章就介绍到这了,更多相关js 上传文件限制参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nuxt+axios实现打包后动态修改请求地址的方法

    nuxt+axios实现打包后动态修改请求地址的方法

    这篇文章主要介绍了nuxt+axios实现打包后动态修改请求地址的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 用Javascript评估用户输入密码的强度(Knockout版)

    用Javascript评估用户输入密码的强度(Knockout版)

    早上看到博友6点多发的一篇关于密码强度的文章(连接),甚是感动(周末大早上还来发文)
    2011-11-11
  • javascript实现简单放大镜效果

    javascript实现简单放大镜效果

    这篇文章主要为大家详细介绍了javascript实现简单放大镜效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • JavaScript 动态生成方法的例子

    JavaScript 动态生成方法的例子

    动态生成方法的例子,这些方法在新对象实例化的时候创建
    2009-07-07
  • 微信小程序block的使用教程

    微信小程序block的使用教程

    这篇文章主要介绍了微信小程序block的使用 ,微信小程序最近非常火热,实现起来也很简单,只要block就可以实现,需要的朋友可以参考下
    2018-04-04
  • 微信小程序实现点击图片放大预览

    微信小程序实现点击图片放大预览

    这篇文章主要为大家详细介绍了小程序实现点击图片放大预览功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 微信小程序开发之实现食堂点餐系统

    微信小程序开发之实现食堂点餐系统

    这篇文章主要为大家详细介绍了如何通过微信小程序开发一个简单的食堂点餐系统,文中的示例代码讲解详细,感兴趣的小伙伴可以和小编一起学习一下
    2023-01-01
  • webpack 开发和生产并行设置的方法

    webpack 开发和生产并行设置的方法

    这篇文章主要介绍了webpack 开发和生产并行设置的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • JS实现数组按升序及降序排列的方法

    JS实现数组按升序及降序排列的方法

    这篇文章主要介绍了JS实现数组按升序及降序排列的方法,涉及javascript针对数组的简单排序操作相关实现技巧,需要的朋友可以参考下
    2017-04-04
  • js实现图片放大展示效果

    js实现图片放大展示效果

    这篇文章主要介绍了js实现图片放大展示效果,点击图片可查看放大效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论