为了账号安全,请及时绑定邮箱和手机立即绑定

如何验证文件上传的文件类型?

如何验证文件上传的文件类型?

慕桂英4014372 2019-10-09 16:34:53
我<input type="file" id="fileUpload" runat="server">用来在ASP.NET应用程序中上传文件。我想限制上传的文件类型(例如:限制为.xls或.xlsx文件扩展名)。JavaScript或服务器端验证都可以(只要服务器端验证将在文件上传之前进行-可能会上传一些非常大的文件,因此任何验证都需要在实际文件上传之前进行) 。
查看完整描述

3 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

似乎您选择的选项有限,因为您希望在上传之前进行检查。我认为最好的方法是使用JavaScript来验证文件的扩展名。您可以构建有效扩展名的哈希,然后查看哈希中是否存在要上传的文件的扩展名。


HTML:


<input type="file" name="FILENAME"  size="20" onchange="check_extension(this.value,"upload");"/>

<input type="submit" id="upload" name="upload" value="Attach" disabled="disabled" />

Javascript:


var hash = {

  'xls'  : 1,

  'xlsx' : 1,

};


function check_extension(filename,submitId) {

      var re = /\..+$/;

      var ext = filename.match(re);

      var submitEl = document.getElementById(submitId);

      if (hash[ext]) {

        submitEl.disabled = false;

        return true;

      } else {

        alert("Invalid filename, please select another file");

        submitEl.disabled = true;


        return false;

      }

}


查看完整回答
反对 回复 2019-10-09
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

使用正则表达式验证器非常简单。


<asp:RegularExpressionValidator

id="RegularExpressionValidator1"

runat="server"

ErrorMessage="Only zip file is allowed!"

ValidationExpression ="^.+(.zip|.ZIP)$"

ControlToValidate="FileUpload1"

> </asp:RegularExpressionValidator>


查看完整回答
反对 回复 2019-10-09
  • 3 回答
  • 0 关注
  • 1074 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信