IronPython көмегімен кесу, C # ішіндегі кескіндерді жүктеу

Содан кейін мен скреберімді жаздым және IronPython-ге C# сыныпты (картаны) тапсырдым, ол содан кейін бинарлық кескінді байт [] деп ойлаймын деп қуанышпен жүктеледі.

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.***

Егер мен мұны Python-дің C# нысанын емес, файлға жазған болсам, бұл жұмыс істейтініне сенімдімін. Менің сұрағым: айырбасталымдардың IronPython және CLR деректер түрлері арасында қандай көрінетінін айтудың жақсы жолы бар ма? Менің екілік сорғылар, мен бұл жағдайда не істеу керектігіне сенімдімін.

0

2 жауаптар

байт [] көрінбейді. Бұл сұрақты қарап шығыңыз:

NHibernate MappingException: байт үшін тіркелгісіз []

C # -де C# түрін тексерудің арқасында IronPython-да орын алғандықтан, сіз сол хабарды алмайсыз.

byte [] ретінде ASCII ретінде сериализациялау арқылы ықтимал шешімді басқа сілтеме:

http://guildsocial.web703.discountasp.net/dasblogce/ 2009/04/03/NHibernateMappingToBinaryData.aspx

Міне, осы лауазымдағы үзінді:

return new ASCIIEncoding().GetString(bytes);

public static string ConvertByteArrayToString(byte[] bytes)
{
    try
    {
        return new ASCIIEncoding().GetString(bytes);
    }
    catch (Exception)
    {
        return "";
    }

}
1
қосылды

DrNewman негізінен тырнаққа шабуыл жасады. Мәселе темір питонынан шыққан жол форматы болды. Питонда дұрыс пішімге айналдыруды емес, оны C# -мен қайтадан айналдыруға болады, мен бұл бөлімді C# -ге тапсыруды ғана таңдадым. Мен аяқтаған нәрсе, AddImage-ды темір питонынан шақыртып, URL-мекен-жайын ғана жіберді. Содан кейін C# көмегімен скрининнің (кескіннің) соңғы қадамын жасаңыз

0
қосылды