в чем разница между этими двумя методами Post - PullRequest
0 голосов
/ 19 ноября 2018

Я немного озадачен разницей между этими двумя строками:

req.OpenReadStream();

и

Request.Form.Files.GetFile("FileContent").OpenReadStream()

вот что я знаю до сих пор и исправьте меня, если я ошибаюсь, я знаю, что они оба предназначены для чтения файла, и первый метод принимает только файл, однако второй принимает файл и значение json ,, но что я до сих пор не понимаю, так это разницу в синтаксисе

Вот фрагмент из методов сообщения:

public IActionResult Post(IFormFile req)
{
    req.OpenReadStream();
    return Ok();
}

[HttpPost]
public IActionResult Post([FromForm] RequestModel req)
{
    Request.Form.Files.GetFile("FileContent").OpenReadStream()
    return Ok();
}

//....
public class RequestModel
{
    public string FileContent { get; set; }
    public string SomeRandomString { get; set; }    
}

1 Ответ

0 голосов
/ 19 ноября 2018

Отсутствует. Они оба принадлежат IFormFile.

Разница лишь в том, как вы получаете доступ к интерфейсу.

В первом примере вы обращаетесь к нему напрямую, поскольку он передается в конструктор вашего метода.

Во втором примере вы получаете доступ к нему из коллекции Files HttpRequest, получая файл с использованием метода GetFile который возвращает указанный интерфейс.

Как сказал Панагиотис Канавос, последний вообще не может быть проверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...