Как передать байтовый массив из flex в dotnet

В моем проекте нам нужно сохранить изображение, снятое с веб-камеры, по пути по умолчанию, используя flex 4.6, но указание пути по умолчанию в flex(сохранение изображения по пути по умолчанию, например C:\temp..) невозможно, поэтому мы передаем байтовый массив этого захваченного изображения от flex до страницы.ashx в.net здесь, изображение сохраняется по пути по умолчанию, но imagebytes не сохраняется (показывая, что в изображении нет данных). Если кто-либо знает, пожалуйста, дайте мне знать.

1 ответ

Наконец-то мне удалось передать imagebytes со страницы flex на ashx, как показано ниже

//Declare a string in script tag(Initialize a string before init() )
[Bindable]public var str64enc:String="";

//creating object for bytearray
[Bindable]public var imgbytes:ByteArray=new ByteArray(); 

//creating object for bitmapdata
[Bindable]public var picture1:BitmapData=new BitmapData(103,103,true);

**In your code**
var png:PNGEncoder=new PNGEncoder();
imgbytes=png.encode(picture1);

var base64enc:Base64Encoder=new Base64Encoder();
base64enc.encodeBytes(imgbytes);

str64enc=base64enc.toString();

ПОСЛЕДОВАТЕЛЬНАЯ ПРОЦЕДУРА: -------

1-Возьмите base64encoder и закодируйте байтовый массив, как показано ниже:

var base64enc:Base64Encoder=new Base64Encoder();
base64enc.encodeBytes(imgbytes);

2 - затем назначьте этот объект кодера base64 (в данном случае " base64enc") строке

3-в HTTPSERVICE вам нужно передать эту строку, как:

<mx:HTTPService id="savepcktdata" method="POST"
    url="ur's destination path like..(axis/security/security.aspx)"
        result="savepcktdata_resultHandler(event)"                      
        resultFormat="text">
            <mx:request>
    <Operation>savepcktdata</Operation>     

    <bytes>
           {str64enc}
    </bytes>

    </mx:request>   
</mx:HTTPService>

4- На странице.aspx вам нужно получить как:

string str = Convert.ToString(Request.Form["bytes"]);

Cocnclusion: чтобы передать байты изображения из flex(flash Builder 4.6) в dotnet (visual studio), вам нужно пройти через строку base64, как в коде выше.

Ниже приведена полезная ссылка, связанная с этой проблемой.

Как передать изображение из flex-приложения в веб-сервис asp net C#? жерех-нетто-с-диез-веб-сервис

Другие вопросы по тегам