【问题标题】:Multiple file upload to database in ASP.NET Core在 ASP.NET Core 中将多个文件上传到数据库
【发布时间】:2021-06-25 15:22:17
【问题描述】:

我正在尝试将多个文件添加到我的数据库中。当我尝试进行单次上传时,它运行良好,并且我的编码器或基于我的核心层的编码器没有问题。

它很好地添加了这些文件,但它只是一直在添加相同的文件,让我展示一下我的代码:

[HttpPost]
public IActionResult PostCategory(Category category, List<IFormFile> files)
{
        if (ModelState.IsValid)
        {
            int request;
            _unitOfWorkCat.RepositoryCategory.Create(category);
            request = HttpContext.Response.StatusCode;

            if (request == 200)
            {
                TempData["Message"] = "Kategori ekleme işleminiz başarılı!";
                TempData["JS"] = "showSuccess();";
                _unitOfWorkCat.Complete();

                foreach (var a in files)
                {
                    var File = _fileUploader.FileUploadToDatabase(files);
                    var x = File.Result;
                    int ID = category.CategoryID;
                    x.CategoryID = ID;
                    _unitOfWorkFR.RepositoryFileRepo.Create(x);
                    _unitOfWorkFR.Complete();
                }
            }
            else
            {
                TempData["Message"] = "Kategori ekleme işleminiz başarısız!";
                TempData["JS"] = "showError();";
            }

            return RedirectToAction("CategoryIndex");
        }
        else
        {
            TempData["Message"] = "Eklemek istediğiniz veri hatalı!";
            TempData["JS"] = "showError();";
            return RedirectToAction("CategoryIndex");
        }
}

我查看了我的视图,它发送的计数与我选择的相同。我想将这些文件添加到我的数据库中,我不想每个都添加相同的文件。

感谢您的任何建议。

【问题讨论】:

  • 你写var File = _fileUploader.FileUploadToDatabase(files);的地方我想你真正想要的是这个var File = _fileUploader.FileUploadToDatabase(a);
  • 它不接受 bc 他们不是一回事

标签: asp.net .net asp.net-mvc file file-upload


【解决方案1】:

我用递归函数解决了我的问题。 这里是:

[HttpPost]
public IActionResult PostCategory(Category category, List<IFormFile> files)
{
        if (ModelState.IsValid)
        {
            int request;
            _unitOfWorkCat.RepositoryCategory.Create(category);
            request = HttpContext.Response.StatusCode;

            if (request == 200)
            {
                TempData["Message"] = "Kategori ekleme işleminiz başarılı!";
                TempData["JS"] = "showSuccess();";
                _unitOfWorkCat.Complete();

                int i = 0; int b = 1;
                    foreach (var a in files)
                    {
                       int count = files.Count;
                        if (i < count)
                        {
                            var fi = files.GetRange(i, b);
                            var File = _fileUploader.FileUploadToDatabase(fi);
                            var x = File.Result;
                            int ID = category.CategoryID;
                            x.CategoryID = ID;
                            _unitOfWorkFR.RepositoryFileRepo.Create(x);
                            _unitOfWorkFR.Complete();
                            i++;
                        }
                    }
            }
            else
            {
                TempData["Message"] = "Kategori ekleme işleminiz başarısız!";
                TempData["JS"] = "showError();";
            }

            return RedirectToAction("CategoryIndex");
        }
        else
        {
            TempData["Message"] = "Eklemek istediğiniz veri hatalı!";
            TempData["JS"] = "showError();";
            return RedirectToAction("CategoryIndex");
        }
}

还是谢谢。

【讨论】:

    猜你喜欢
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 2022-11-22
    • 2021-07-07
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多