首页 > 解决方案 > 如何将文件添加到列表中。但列表总是被重置

问题描述

我想将传入的图像保留在列表中,因为它们是用 Filepond 视觉加载的。我稍后会通过电子邮件发送给他们。但每次调用文件加载它都会再次创建列表。列表总是被重置。

 public class HomeController : Controller
    {
        List<HttpPostedFileBase> img = new List<HttpPostedFileBase>();
        public ActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Fileupload()
        {
            try
            {
                if (Request.Files.Count > 0)
                {
                    HttpPostedFileBase file = Request.Files[0];
                    if (file != null && file.ContentLength > 0)
                    {
                        img.Add(file);
                        return Json(true);
                    }
                }
                return Json(false);
            }
            catch
            { return Json(false); }
        }

标签: c#asp.net-mvcfilepond

解决方案


这样做是因为对于您在服务器上收到的每个 HTTP 请求,如果有对应的控制器,Asp.net 框架就会为您创建一个控制器实例。

如果您想将它们保存在此控制器的内存中,您可以将列表声明为静态。

private static List<HttpPostedFileBase> img = new List<HttpPostedFileBase>();


推荐阅读