Как читать данные из WebClient.UploadData

Первое размещение! Я ломал голову над этим конкретным делом. У меня есть веб-приложение, которое должно загрузить файл в web-api и получить обратно файл SVG (в виде строки).

Веб-приложение загружает файл следующим образом:

using (var client = new WebClient())
            {
                var response = client.UploadFile(apiUrl, FileIGotEarlierInMyCode);

                ViewBag.MessageTest = response.ToString();
            }

Выше работает, но потом мы перейдем к API Part: Как получить доступ к загруженному файлу? псевдокод:

public string Post([FromBody]File f)
        {
            File uploadedFile = f;

            String svgString = ConvertDataToSVG(uploadedFile);
            return s;
        }

Другими словами: как я могу загрузить / отправить XML-файл в мой Web-API, использовать / манипулировать им и отправить другие данные обратно?

Заранее спасибо! Ник

PS: я попробовал этот ответ: Доступ к точным данным, отправленным с использованием WebClient.UploadData на сервере, но мой код не скомпилирован на Request.InputStream.

1 ответ

Причина, по которой Request.InputStream не работает для вас, заключается в том, что свойство Request может ссылаться на различные типы объектов Request, в зависимости от того, какое решение ASP.NET вы разрабатываете. Есть:

Вы используете Web API, поэтому HttpRequestMessage это так. Вот как вы читаете необработанные байты запроса, используя этот класс:

var data = Request.Content.ReadAsByteArrayAsync().Result;
Другие вопросы по тегам