如何从 GridFS 检索图像列表?

这是提交一个视图,使用ajax拉取数据。


我正在尝试从 MongoDb GridFS 存储桶中检索图像。下载操作有效。但问题是,我使用的视图模型有:


public User User { get; set; }

public List<IFormFile> ImageUpload { get; set; }

我从数据库上下文中获取用户,并使用它来识别存储桶中的图像,我想将其返回到控制器的视图中。


以下是我的控制器代码:


public IActionResult AddEditUser(int id = 0)

        {

            if (id == 0)

            {

                return View(new UserImgBinder());

            }

            else

            {

                var userImageId = _context.User.Where(x => x.UserId.Equals(id)).Select(y => y.AvatarImg).ToString();

                var stream = ContextNew.ImagesBucket.OpenDownloadStream(new ObjectId(userImageId.ToBson()));

                var contentType = stream.FileInfo.Metadata["ContentType"].AsString;

                //File(stream, contentType);

                IFormFile file = new  FormFile(stream, 0, stream.Length,"",""); 



                var UserImgBinder = new UserImgBinder

                {

                    User = _context.User.Where(x => x.UserId.Equals(id)).FirstOrDefault(),

                    ImageUpload = file

            };

                return View(UserImgBinder);

            }


        }

由于 ImageUpload 是 List 类型,而我试图提供给它的不是列表,所以我收到了错误。


我应该写什么来解决这个问题?这种方法不好吗?请帮忙。谢谢。


jeck猫
浏览 87回答 1
1回答

达令说

尝试如下代码:var UserImgBinder = new UserImgBinder{&nbsp; &nbsp; User = _context.User.Where(x => x.UserId.Equals(id)).FirstOrDefault(),&nbsp; &nbsp; ImageUpload = new List<IFormFile> {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }};
打开App,查看更多内容
随时随地看视频慕课网APP