JavaScript限制上传文件类型的代码

JavaScript限制上传文件类型的代码

2009-06-28 15:42:56 | 【大 中 小】
.gif .jpg .png

本代码可以在客户端限制用户选择的上传文件类型

要完成此效果需要两个步骤

第一步:把如下代码加入到<head>区域中

01<SCRIPTLANGUAGE="JavaScript">
02 
03        /*****************************************************
04         *  Share JavaScript (http://www.ShareJS.com)
05         * 使用此脚本程序,请保留此声明
06         * 获取此脚本以及更多的JavaScript程序,请访问http://www.ShareJS.com
07         ******************************************************/
08     
09<!-- Begin
10extArray = new Array(".gif", ".jpg", ".png");
11function LimitAttach(form, file) {
12allowSubmit = false;
13if (!file) return;
14while (file.indexOf("\\") != -1)
15file = file.slice(file.indexOf("\\") + 1);
16ext = file.slice(file.indexOf(".")).toLowerCase();
17for (var i = 0; i < extArray.length; i++) {
18if (extArray[i] == ext) { allowSubmit = true; break; }
19}
20if (allowSubmit) form.submit();
21else
22alert("对不起,只能上传以下格式的文件:  "
23+ (extArray.join("  ")) + "\n请重新选择符合条件的文件"
24+ "再上传.");
25}
26//  End -->
27</script>


第二步:把如下代码加入到<body>区域中

01<script>
02document.write(extArray.join("  "));
03</script>
04<p>
05 
06<formmethod=postname=upformaction="http://www.sharejs.com"enctype="multipart/form-data">
07<inputtype=filename=uploadfile>
08<p>
09<inputtype=buttonname="Submit"value="Submit"onclick="LimitAttach(this.form, this.form.uploadfile.value)">
10</form>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值