首页 新闻 会员 周边

请教批量上传,如何先判断文件扩展名符合要求

0
悬赏园豆:10 [待解决问题]
Controller:
[HttpPost]
public ActionResult ImageUpLoad(Gallery gallery, HttpPostedFileBase[] Files) { foreach (HttpPostedFileBase File in Files) { if (_UploadRepository.ImageAllowFileType(File) == true) { _UploadRepository.ImageUploadToDatabase(gallery,File); //以二进制数据流形式保存到数据 } else { ModelState.AddModelError("", "只支持的.jpg .jpeg .png .bmp格式"); } } return RedirectToAction("Index", "Home"); }



ImageAllowFileType:
bool IUploadRepository.ImageAllowFileType(HttpPostedFileBase File)
        {
            var extension = Path.GetExtension(File.FileName);
            var allowExtentions = new string[] { ".jpg", ".jpeg", ".png", ".bmp" };
            if (allowExtentions.Contains(extension))
            {
                return true;
            }
            else
            {
                return false;
            }
        }



ImageUploadToDatabase:

void IUploadRepository.ImageUploadToDatabase(Gallery gallery, HttpPostedFileBase File)
        {
            Int32 Length = File.ContentLength;
            byte[] TempImage = new byte[Length];
            File.InputStream.Read(TempImage, 0, Length);
            gallery.ImageData= TempImage;


            db.Galleries.Add(gallery);
            db.SaveChanges();
        }


View:
<input type="file" id="Files" name="Files" multiple="multiple" /> @*multiple:HTML5新属性,规定输入字段可选择多个值 *@

我想实现的是先做文件格式的检查,所有文件中假如有一个不是图片,则不上传(包括符合要求的文件),要求重新选择。请教如何修改,实现此效果!

 

时光刺客的主页 时光刺客 | 初学一级 | 园豆:60
提问于:2013-09-11 11:33
< >
分享
所有回答(2)
0

 为何不用js先做判断?

虔城墨客 | 园豆:185 (初学一级) | 2013-09-12 11:19
0

写两个foreach循环啊  第一个只判断是否合法

向晚 | 园豆:79 (初学一级) | 2014-01-18 23:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册