Скачать файл с помощью сервиса WCF Rest? - PullRequest
6 голосов
/ 15 марта 2012

Если есть способ Загрузить файл с помощью rest через поток , будет ли также "Download"?Если да, подскажите, пожалуйста, как?Заранее спасибо!

Ответы [ 2 ]

9 голосов
/ 15 марта 2012

Пример метода, который я использую для загрузки файла из моей службы 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); 
        }
0 голосов
/ 17 апреля 2019

Вы также можете использовать следующие

 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);
 }

когда он определен как

[WebGet(UriTemplate = "file/{id}")]
[OperationContract]
Stream GetPdfFile(string id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...