如何使用Mvc 4进行文件上传可选

时间:2016-04-26 14:31:46

标签: asp.net-mvc razor

我正在上传3种类型的文件,即1)视频2)图像3)文件。 如果我一次上传所有三个文件,所以它上传并显示成功,但如果我想跳过一个上传文件,那么它给我以下错误。请在这里帮助我:  httpPostedFile.SaveAs(fileSavePath); db.SaveChanges(); 一个错误是因为发送到db的路径我猜。

[HttpPost]
    public ActionResult AddSKU(SKU_Det skufiles, IEnumerable<HttpPostedFileBase> files)
    {
        var httpPostedFile = Request.Files[0];
        if (httpPostedFile != null)
        {
            var uploadFilesDir = System.Web.HttpContext.Current.Server.MapPath("~/Content/Videos");
            if (!Directory.Exists(uploadFilesDir))
            {
                Directory.CreateDirectory(uploadFilesDir);          
            }

            var fileSavePath = Path.Combine(uploadFilesDir, httpPostedFile.FileName);
            httpPostedFile.SaveAs(fileSavePath);
        }
            foreach (var file in files)
            {
                if (file != null && file.ContentLength > 0)
                {
                    file.SaveAs(HttpContext.Server.MapPath("~/Areas/Admin/Images/") + file.FileName);
                }
            }

            SKU_Det sku = new SKU_Det();

            sku.SKU = skufiles.SKU;
            sku.VideoPath = Request.Files[0].FileName;
            sku.Imagepath = sku.FilePath = Request.Files[1].FileName;
            sku.FilePath = sku.FilePath = Request.Files[2].FileName;
            db.SKU_Det.Add(sku);
            db.SaveChanges();

0 个答案:

没有答案