Передача byte[] между клиентом/сервером .NET 4.7.1 через RESTC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Передача byte[] между клиентом/сервером .NET 4.7.1 через REST

Сообщение Anonymous »

У меня нет опыта работы с REST API. Я унаследовал клиент/сервер .NET 4.7.1 C#, и мне нужно добавить возможность передачи (больших) двоичных файлов. Я не могу использовать RestSharp.
На стороне клиента я продвинулся вот так:

Код: Выделить всё

HttpClient client = new HttpClient();
...
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(?); // TODO: What should I enter here?

using (var content = new MultipartFormDataContent())
{
var fileContent = new ByteArrayContent(bytes);
fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data");
fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "My.dat"
};
content.Add(fileContent);
var response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
return response.Headers.Location;
}
Ошибка публикации:

Код: Выделить всё

Status Code: 500, ReasonPhrase: 'could not find expected boundary'
Я не женат на приведенной выше реализации (найденной в Интернете).
На стороне сервера, как мне извлечь байты из параметр запроса?

Код: Выделить всё

public async Task ReceiveFile(
HttpListenerRequest request,
...)
{
...
if (request.HasEntityBody)
{
// TODO: Save bytes to a file
}
...
}
Я ограничен обработчиком, который получает параметр HttpListenerRequest.

Подробнее здесь: https://stackoverflow.com/questions/787 ... r-via-rest
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»