यह एक ऐसा दृश्य प्रस्तुत करना है जो डेटा खींचने के लिए अजाक्स का उपयोग करता है।

मैं मोंगोडीबी ग्रिडएफएस बाल्टी से एक छवि पुनर्प्राप्त करने का प्रयास कर रहा हूं। डाउनलोड ऑपरेशन काम करता है। लेकिन मुद्दा यह है कि मैं जिस व्यू मॉडल का उपयोग करता हूं वह है:

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 प्रकार की सूची है और जो मैं इसे खिलाने की कोशिश कर रहा हूं वह एक सूची नहीं है, मुझे त्रुटि मिल रही है।

इसे हल करने के लिए मुझे क्या लिखना चाहिए? क्या यह दृष्टिकोण खराब है? कृपया मदद कीजिए। धन्यवाद।

0
Neo 22 अप्रैल 2019, 14:44

1 उत्तर

सबसे बढ़िया उत्तर

कोड का प्रयास करें जैसे:

var UserImgBinder = new UserImgBinder
{
    User = _context.User.Where(x => x.UserId.Equals(id)).FirstOrDefault(),
    ImageUpload = new List<IFormFile> {
                file
            }
};
0
Edward 23 अप्रैल 2019, 05:47