Я пытаюсь загрузить файл 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);
}
Любая подсказка, что еще может пойти не так.
Большое спасибо.