Преобразование файла формы cURL с аутентификацией токена в C # - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь преобразовать ниже CURL в HttpClient или аналогичный с использованием C #.

curl --form "file=@C:\files\test.csv" https://company.com/api/v0/imports/api_name?token=123456asdfgh2345asdfg12345sdfgh2345sdfg123asd

Я пробовал ниже, но мне бросается 401.

StatusCode: 401, ReasonPhrase: 'Unauthorized', Версия: 1.1, Содержимое: System.Net.Http.StreamContent, Заголовки:

Вот код:

private async Task<string> PostAttachment(byte[] data, Uri url, string contentType, string token)
{
    HttpContent content = new ByteArrayContent(data);
    content.Headers.ContentType = new MediaTypeHeaderValue(contentType);
    using (var form = new MultipartFormDataContent())
    {   
        form.Add(content);
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
            var response = await client.PostAsync(url, form);
            return await response.Content.ReadAsStringAsync(); }}}

И звонил сюда

var uri = new Uri(@"https://company.com/api/v0/imports/api_name");
PostAttachment(Encoding.UTF8.GetBytes(csv), uri, "text/csv", token);`

Я пробовал много других подобных сообщенийздесь, но ничто не получило аутентификацию с токенами.

...