如何使用HTML输入文件类型限制文件类型?

cho*_*bo2 16 .net html c# asp.net-mvc

如何使用HTML输入文件类型限制文件类型?

我有这个

<input type="file" id="fileUpload" name="fileUpload" size="23" accept="Calendar/ics"/>
Run Code Online (Sandbox Code Playgroud)

我试图将类型限制为仅iCalendar格式类型.

我也想在服务器端检查它.我如何在ASP.NET MVC中执行此操作?

Gab*_*ams 20

遗憾的是,您无法像在标准文件浏览器对话框中那样限制文件扩展名.但是,您可以在用户选择文件后检查扩展名.

您可以添加此事件处理程序.

filebox.Attributes.Add("onchange", "fileSelectedChanged(this);");
Run Code Online (Sandbox Code Playgroud)

和这个JavaScript函数

function fileSelectedChanged(obj) {
    var filePath = obj.value;

    var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase();
    if(ext != 'csv') {
        alert('Only files with the file extension CSV are allowed');
    } else {
        document.getElementById('form1').submit();
    }
}
Run Code Online (Sandbox Code Playgroud)

您还应该在服务器上检查它,使用:

filebox.PostedFile.FileName
Run Code Online (Sandbox Code Playgroud)

和:

filebox.PostedFile.ContentType
Run Code Online (Sandbox Code Playgroud)

  • 哈哈...加布里埃尔.他有2000名士兵和88%的接受率......我想他知道. (2认同)