Атрибут [WebContentType ("application / octet-stream")] здесь не нужен. Я закомментировал это, и все работало нормально :).

аюсь загрузить файл MS-Excel через службу WCF-REST. Я использовал решение, приведенное в посте ниже:Проблема загрузки образа службы RESTful WCF Мой метод POST объявлен как:

  [OperationContract]
                [WebInvoke(Method = "POST", UriTemplate = "/RFQ")]
                [WebContentType("application/octet-stream")]
                void UploadRFQDoc(Stream fileContents);

Когда я отлаживаюсь, содержимое потока в порядке, пока не будет выполнен вызов, и когда я присоединяю сервис к отладке, параметр Stream fileContents становится нулевым, а сервис возвращается с [Bad Request]. Я не отправляю большой файл (это всего лишь 50 КБ). Я использую HttpClient для вызова почты. Вот код клиента (RestClient - это HttpClient).

 protected void Post(string uri, Stream stream, int length)
        {
            var content = HttpContent.Create(output => CopyToStream(stream, output, length), "application/octet-stream", length);
            Uri relativeUri = new Uri(uri, UriKind.Relative);

            var resp = RestClient.Post(relativeUri, content);

            ProcessResponse(resp);
        }

        void CopyToStream(Stream input, Stream output, int length)
        {
            var buffer = new byte[length];
            var read = input.Read(buffer, 0, Convert.ToInt32 (length));

            output.Write(buffer, 0, read);
        }

Любая подсказка, что еще может пойти не так. Большое спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос