Как передать байтовый массив из 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#? жерех-нетто-с-диез-веб-сервис