asp.net-mvc-3 – 如何在MVC3中限制FileUpload中的文件类型?
发布时间:2020-12-16 04:03:46 所属栏目:asp.Net 来源:网络整理
导读:我有一个文件上传功能,用户可以上传文件.我想限制用户上传某些文件类型.允许的类型是:.doc,.xlsx,.txt,.jpeg. 我怎么能这样做? 这是我的实际文件上传代码: public ActionResult UploadFile(string AttachmentName,BugModel model) { BugModel bug = null;
我有一个文件上传功能,用户可以上传文件.我想限制用户上传某些文件类型.允许的类型是:.doc,.xlsx,.txt,.jpeg.
我怎么能这样做? 这是我的实际文件上传代码: public ActionResult UploadFile(string AttachmentName,BugModel model) { BugModel bug = null; if (Session["CaptureData"] == null) { bug = model; } else { bug = (BugModel)Session["CaptureData"]; } foreach (string inputTagName in Request.Files) { HttpPostedFileBase file1 = Request.Files[inputTagName]; if (file1.ContentLength > 0) { string path = "/Content/UploadedFiles/" + Path.GetFileName(file1.FileName); string savedFileName = Path.Combine(Server.MapPath("~" + path)); file1.SaveAs(savedFileName); BugAttachment attachment = new BugAttachment(); attachment.FileName = "~" + path.ToString(); attachment.AttachmentName = AttachmentName; attachment.AttachmentUrl = attachment.FileName; bug.ListFile.Add(attachment); model = bug; Session["CaptureData"] = model; } } ModelState.Clear(); return View("LoadBug",bug); } 解决方法
要验证的第一件事是file1.FileName中包含的文件扩展名是否与允许的扩展名之一匹配.然后,如果您确实希望确保用户未将某些其他文件类型重命名为允许的扩展名,则需要查看该文件的内容以识别它是否是允许的类型之一.
以下是如何检查文件扩展名是否属于预定义扩展名列表的示例: var allowedExtensions = new[] { ".doc",".xlsx",".txt",".jpeg" }; var extension = Path.GetExtension(file1.FileName); if (!allowedExtensions.Contains(extension)) { // Not allowed } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-core – 来自带有Entity Framework Core的Data Tie
- ASP.NET:将DataTable呈现到字符串(HTML)的最短方法?
- asp.net-mvc – 如果value为空,在razor模板上放置一个空字符
- asp.net-mvc – 我可以在MVC 3中有/多个_Layout页面吗?为c
- asp.net-mvc – 将父ID添加到隐藏字段
- asp.net – AsyncFileUpload控件
- asp.net-mvc – ASP.NET MVC是否需要安装在我的生产Web服务
- 在经典ASP调试的Visual Studio 2012中禁用了应用程序调试
- asp.net – jqgrid editurl:控制器动作参数
- asp.net – 用于bower.json文件的Visual Studio 2015 RC上的
推荐文章
站长推荐
- asp-classic – 使用TFS 2010“构建”经典ASP
- 如何动态更改整个ASP.NET应用程序的主题?
- asp.net-mvc – 使用GUID的部分作为ID
- asp.net-mvc-3 – 单元测试一个文件上传,怎么样?
- asp.net-mvc-3 – 在razor语句之间输出文字HTML会
- ASP.NET:Viewstate并以编程方式添加用户控件
- jQuery validate 根据 asp.net MVC的验证提取简单
- 从ASP.NET应用程序使用Active Directory时,Direc
- asp.net – 我可以通过编程方式加载’Roles’属性
- asp.net-mvc-4 – MVC4和页面生命周期?
热点阅读