Si hay una manera de Cargar archivo usando el resto a través de stream habrá también para «Download«? Si sí, puede usted por favor decirme cómo? Gracias de antemano!

OriginalEl autor fiberOptics | 2012-03-15

2 Comentarios

  1. 8

    Un ejemplo de método que uso para descargar el archivo de mi servicio REST:

    [WebGet(UriTemplate = "file/{id}")]
            public Stream GetPdfFile(string id)
            {
                WebOperationContext.Current.OutgoingResponse.ContentType = "application/txt";
                FileStream f = new FileStream("C:\Test.txt", FileMode.Open);
                int length = (int)f.Length;
                WebOperationContext.Current.OutgoingResponse.ContentLength = length;
                byte[] buffer = new byte[length];
                int sum = 0;
                int count;
                while((count = f.Read(buffer, sum , length - sum)) > 0 )
                {
                    sum += count;
                }
                f.Close();
                return new MemoryStream(buffer); 
            }
    Muchas gracias! Voy a estar trabajando con esto.
    Ninguna razón por qué usted no devolver el FileStream directamente? Y si usted realmente desea copiar el arroyo .Net4 tiene un método CopyTo en los arroyos.
    Probablemente no es relevante ya, pero el regreso de FileStream directamente puede causar problemas con unclosed archivo.
    Y sobre el método CopyTo – no olvide restablecer posición de la corriente a 0 después de copiar el archivo en MemoryStream. De lo contrario, usted tendrá archivo vacío en el lado llamado.

    OriginalEl autor Rajesh

  2. 0

    También puede utilizar el siguiente

     public Stream GetFile(string id)
     {
          WebOperationContext.Current.OutgoingResponse.ContentType = "application/txt";
          var byt = File.ReadAllBytes("C:\Test.txt");
          WebOperationContext.Current.OutgoingResponse.ContentLength = byt.Length;
          return new MemoryStream(byt);
     }

    cuando se define, como

    [WebGet(UriTemplate = "file/{id}")]
    [OperationContract]
    Stream GetPdfFile(string id);

    OriginalEl autor Vinod Srivastav

Dejar respuesta

Please enter your comment!
Please enter your name here