如何使用HTML输入文件类型限制文件类型?
我有这个
<input type="file" id="fileUpload" name="fileUpload" size="23" accept="Calendar/ics"/>
我正在尝试将类型限制为仅iCalendar格式类型。
我还想在服务器端检查它。如何在ASP.NET MVC中执行此操作
发布于 2009-12-30 10:51:13
遗憾的是,您不能像在标准文件浏览器对话框中那样限制文件扩展名。但是,一旦用户选择了文件,您就可以检查扩展名。
您可以添加此事件处理程序。
filebox.Attributes.Add("onchange", "fileSelectedChanged(this);");
这个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();
}
}
您还应该在服务器上使用以下命令进行检查:
filebox.PostedFile.FileName
和:
filebox.PostedFile.ContentType
发布于 2009-12-30 10:53:25
文本/日历是正确的mime类型
<input type="file" id="fileUpload" name="fileUpload" size="23" accept="text/calendar" />
发布于 2009-12-30 20:22:53
instaed of accept应该使用contetypes属性,请注意contentypes中只有一个“t
在服务器代码检查中,如下所示
HttpPostedFileBase文件= Request.Files;
if(!file.ContentType.startsWith("text/calendar")) {//错误}
希望这将解决你的问题,如果可以,请记下我的答案。
https://stackoverflow.com/questions/1978134
复制相似问题