[asp.net-mvc]ASP.net MVC 限制上传文件

发布时间: 2016/10/5 10:58:13
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个上传方法内我控制器之一在我的 ASP.net 项目的完美,但我会怎样添加限制文件类型;jpeg、 jpg、 png 和 bmp。

我看过网上的无处不在有很多的办法,而是没有人为我工作。

这里是我的代码

public ActionResult Create([Bind(Include = "Id,Title,Description,FileName,FileType,FileSize,Author,DateUploaded")] FileSharing fileSharing)
    {

        if (Request.Files.Count > 0)
        {
            if (ModelState.IsValid)
            {
                HttpPostedFileBase file = Request.Files.Get(0);
                string fileName = Path.GetFileName(file.FileName);
                string filePath = Path.Combine(Server.MapPath("~/Assets/"), fileName);
                file.SaveAs(filePath);

                FileInfo fileInfo = new FileInfo(filePath);
                fileSharing.FileType = fileInfo.Extension.Remove(0, 1).ToUpper();
                fileSharing.DateUploaded = DateTime.Now;
                fileSharing.FileName = fileName;
                fileSharing.FileSize = fileInfo.Length.ToString();
                fileSharing.Author = User.Identity.Name;

                db.FileSharing.Add(fileSharing);
                db.SaveChanges();
                return RedirectToAction("Index");
            }          
        }
        return View(fileSharing);
    }

解决方法 1:

您可以检查文件 exenstions 的

HttpPostedFileBase file = Request.Files.Get(0);
var allowedExtensions = new string[]{".jpeg", ".png"};
string extension = Path.GetExtension(file.FileName);
if(allowedExensions.Contains(extension)
{
//file allowed
}
else
{
//invalid extension
}
官方微信
官方QQ群
31647020