MVC:上传文件时限制文件类型

之前写过一篇:MVC:上传文件

今天补充下一个功能:如何限制上传文件类型

文件类型可以在前段限制,但是太容易被绕过,最好还是在后端处理。

修改upload方法代码:

[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
    if (file == null)
    {
        return Content("没有文件!");
    }
    //-------------------------------------------------
    var thisExtension=Path.GetExtension(file.FileName);
    string[] allowExtension = new string[] {".xls",".xlsx" };
    if(!allowExtension.Contains(thisExtension))
    {
        return Content("文件类型不对。");
    }
    //-------------------------------------------------
    var filename = Path.Combine(Request.MapPath("~/upload"), Path.GetFileName(file.FileName));
    file.SaveAs(filename);
    return Content("OK");
}
时间: 2024-10-19 02:06:25

MVC:上传文件时限制文件类型的相关文章

MVC文件上传 - 使用jquery异步上传并客户端验证类型和大小

本篇体验MVC上传文件,从表单上传过渡到jquery异步上传. MVC最基本的上传文件是通过form表单提交方式 □ 前台视图部分 <% using(Html.BeginForm("FileUpload", "FileUpload", FormMethod.Post, new {enctype = "multipart/form-data"}) {)%> <input name ="uploadFile" t

关于MVC 上传文件

前台代码如下 @{ Layout = null; } <!DOCTYPE html> <html> <head> <title>Index</title> <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> <script t

笔记02 文件上传、文件下载、类型转换器、国际化的支持

Struts2的上传 1. Struts2默认采用了apache commons-fileupload  2. Struts2支持三种类型的上传组件 3. 需要引入commons-fileupload相关依赖包 * commons-io-1.3.2.jar * commons-fileupload-1.2.1.jar 4. 表单中需要采用POST提交方式,编码类型需要使用:multipart/form-data 5. Struts2的Action     取得文件名称->>规则:输入域的名称+

Codeigniter 调试上传不支持的类型文件

打开 codeigniter\system\libraries\Upload.php 文件 找到执行方法 $this->_file_mime_type($_file); 注释后替换成 $this->_file_mime_type($_FILES[$field]); var_dump($this->file_type); die(); //abin add. 然后控制台查看输出的 mime类型是什么 再打开 codeigniter\application\config\mimes.php

PHP文件上传error的错误类型 - $_FILES[&#39;file&#39;][&#39;error&#39;]

假设文件上传字段的名称img,则: $_FILES['img']['error']有以下几种类型 1.UPLOAD_ERR_OK 其值为 0,没有错误发生,文件上传成功. 2.UPLOAD_ERR_INI_SIZE 其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize选项限制的值. 3.UPLOAD_ERR_FORM_SIZE 其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值. 4.UPLOAD_ERR_PARTIA

文件上传,判断文件错误类型

HTML代码上传文件: <form action="doAction.php" method="post" enctype="multipart/form-data"> 请选择上传文件:<input type="file" name="myFile" /><br /> <input type="submit" value="上传&quo

Struts文件上传的大小及类型的限制

前几天讲到struts文件上传,设置了fileUpload拦截器的参数以后,超过大小的文件被限制上传,但是类型不匹配的,却没有得到限制,今天有时间找了一下原因,发表一篇博文,请遇到问题的同学,参考一下: 在struts-default.xml中可以看到fileUpload的拦截器对应的类org.apache.struts2.interceptor.FileUploadInterceptor,查看源码会发现,类中的几个属性: protected Long maximumSize; protecte

spring mvc上传文件服务器配置

在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的.但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的applicationContext里面加上springMVC提供的MultipartResolver的申明.客户端每次进行请求的时候,springMVC都会检查request里面是否包含多媒体信息,如果包含了就会使用MultipartResolver进行解析,springMVC会使用一个支持文件处理的

.Net mvc 上传多文件

.net mvc 上传多文件有很多种方式,我的方法只是其中一种, 仅供参考,我主要是注重参数传递的过程,后面文件保存的地方省略.. 调试环境 vs2017 控制器代码: [HttpPost] public ActionResult Upload(Int32 entityId, HttpPostedFileBase[] files) { for (int i = 0; i < Request.Files.Count; i++) { files[i] = Request.Files[i]; } //