Foros del Web » Programando para Internet » ASPX (.net) »

Recibir byteArray en C#

Estas en el tema de Recibir byteArray en C# en el foro de ASPX (.net) en Foros del Web. Hola a todos, necesito capturar un byteArray que contiene una imagen PNG desde C# y guardarla en mi carpeta de servidor. Alguien sabe como puedo ...
  #1 (permalink)  
Antiguo 04/01/2012, 02:47
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Recibir byteArray en C#

Hola a todos, necesito capturar un byteArray que contiene una imagen PNG desde C# y guardarla en mi carpeta de servidor. Alguien sabe como puedo hacerlo? He intentado capturarlo como si fuera una imagen:
Código:
HttpPostedFile uploadFile = context.Request.Files[0];
Per no me detecta la imagen. Alguna otra forma?

Por si sirve de ayuda, dejo el trozo de código que envío desde Flash para poder guardar la imagen en C#.
Código:
var vars:URLVariables = new URLVariables();
vars.image = byteArray;//en byteArray es donde guardo la imagen en PNG
var request:URLRequest = new URLRequest("http://localhost/saveImage.ashx");
request.method = URLRequestMethod.POST;
request.data = vars;
var loader:URLLoader = new URLLoader();
loader.load(request);
loader.addEventListener(Event.COMPLETE, onSignatureComplete);
Muchas gracias
  #2 (permalink)  
Antiguo 04/01/2012, 05:24
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Recibir byteArray en C#

Hola, he encontrado esto que dicen que sirve, pero cuando termina el proceso, si intento abrir la imagen grabada en el servidor me dice que está dañada. Alguna idea?
Código:
string now = DateTime.Now.ToString().Replace("/", "_").Replace(":", "-");
                
StreamReader sr = new StreamReader(context.Request.InputStream);
int size = context.Request.ContentLength;
byte[] bytes = new byte[size];
StreamWriter sw = new StreamWriter("c:/docs/uploadFiles/" + now + ".png");
sw.Write(sr.ReadToEnd());
sr.Dispose();
sw.Dispose();
sr.Close();
sw.Close();
sr = null;
sw = null;               
                
context.Response.Write("result=" + now + ".png");
Muchas gracias
  #3 (permalink)  
Antiguo 10/01/2012, 06:55
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Recibir byteArray en C#

Hola todos, he resuelto el problema.
Dejo el código por si a alguien le puede servir.
Código:
Stream rs = (Stream)context.Request.InputStream;
                               
FileStream fs = new FileStream("c:/docs/uploadFiles/image.jpg", FileMode.Create);
byte[] byWork = new byte[2047];
int iWork;

do
{
     iWork = rs.Read(byWork, 0, byWork.Length);
     fs.Write(byWork, 0, iWork);
} while (iWork != 0);

fs.Flush();
fs.Close();
rs.Close();
Un saludo

Etiquetas: bytearray, c#, recibir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:41.