سؤال

أنا أرسل صورة نقطية إلى عرض في ASP.NET MVC. لدي خاصية في ViewModel الخاص بي:

public Bitmap TemplateImage { get; set; }

في رأيي ، أريد أن أكون قادرًا على تقديم صورة نقطية ولكن لا يمكنني معرفة كيفية القيام بذلك.

هل كانت مفيدة؟

المحلول

سيكون أحد الحلول هو إنشاء إجراء جديد ، مثل هذا:

public FileContentResult Show(int id)
{
    var category = northwind.AllCategories().Single(c => c.CategoryID == id);
    byte[] imageByte = category.Picture;
    string contentType = "image/jpeg";

    return File(imageByte, contentType);
}

وأرسل معرفًا للصورة بدلاً من ذلك ويرجعه على هذا النحو:

<img src="<%: Url.Action("Show","Image",new { id = Model.Category.CategoryID  }) %>

نصائح أخرى

نظرًا لأن HTTP لا يهدف إلى أن تكون قادرًا على وضع كل من HTML وبيانات الصورة الثنائية أسفل خط الأنابيب نفسه في نفس الاتصال ، فإن هذا يجعل تمرير بيانات Bitmap إلى عرضك بلا معنى. يجب أن تجد طريقة أخرى عن طريق تخزين (ربما مؤقتًا) بيانات Bitmap وطلب العميل عبر عنوان URL فريد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top