JS 限制上传文件类型

直接上代码,网上看的,自己改了BUG。实测。

html代码

<input type="file" name="ksjh_file" class="ui_hidden" id="uploadksjh" accept="xls,xlsx" onchange="checkFileType(this)">

JS代码

//限制文件上传类型
function checkFileType(_this) {
	var $this = $(_this);
	var acceptType = $this.attr('accept');
	var selectedFile = $this.val();
	var fileType = selectedFile.substring(selectedFile.indexOf('.') + 1, selectedFile.length);
	var location = acceptType.indexOf(fileType);
	if (location > -1) {
		return true;
	} else {
		$this.attr('value', '');
		alert('请选择'+acceptType+'格式文件');
		return;
	}
}

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于el-upload组件,你可以使用before-upload钩子函数来限制上传文件类型。在这个钩子函数中,你可以获取到上传的文件对象,并通过文件名后缀来判断文件类型。如果文件类型不符合要求,你可以给出相应的提示信息并阻止文件上传。 在给出的代码示例中,beforeUpload函数中的判断条件有一个错误。应该使用逻辑或运算符(||)而不是逻辑与运算符(&&)。因为一个文件的后缀名不可能同时是'.jpg'和'.txt'。所以正确的判断条件应该是: ```javascript if (fileExtName !== '.jpg' && fileExtName !== '.txt') { // 提醒只能上传的文件类型 warn('只能上传.jpg、.txt类型的文件!'); return; } ``` 这样,当上传的文件类型不是'.jpg'或'.txt'时,会给出相应的提示并阻止文件上传。 希望这个解答对你有帮助! #### 引用[.reference_title] - *1* *2* [el-upload 限制上传数量、文件类型](https://blog.csdn.net/Daydreame_r/article/details/127320550)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v4^insert_chatgpt"}} ] [.reference_item] - *3* [el-upload限制文件大小(图片尺寸)](https://blog.csdn.net/ljw124213/article/details/124404779)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值