Итак, я написал свой парсер и передал класс C# (карту) в IronPython, который затем с радостью загрузил то, что я считаю двоичными данными изображения, в byte[]
вот так:
imageurl = "http://blabla.com/Image.ashx?id=" + card.Id + "&type=card"
imageresult = urllib2.urlopen(imageurl).read()
if imageresult == '':
print 'Could not find image for ' + card.Title
card.AddImage(imageresult) # AddImage(byte[])
Затем я сохраняю это и извлекаю его из базы данных с помощью NHibernate и пытаюсь вернуть его с помощью этого на моем внешнем интерфейсе MVC:
var ms = new MemoryStream(card.Image);
var image = Image.FromStream(ms); // ***Parameter is not valid.***
Если бы я просто записал это в файл вместо объекта C # с Python, я почти уверен, что это сработает. Мой вопрос: есть ли хороший способ узнать, как будут выглядеть преобразования между типами данных IronPython и CLR? Мой бинарный файл отстой, я просто не знаю, что с этим делать в этом случае.