Этот метод работает для меня. Вы можете использовать данные формы и файл

ема

Я пытаюсь опубликовать API для отправки данных в API, который вызывает мою внутреннюю службу API для отправки этих данных в другую службу API i. Сущность содержит свойство с файлами. это отправить только файл другому производному, ноNameSender свойство не отправить с файлом.

сущность
public class Email
{

    public string NameSender{ get; set; }

    public List<IFormFile> Files { get; set; }


}
Api
[Consumes("multipart/form-data")]
[HttpPost]
public IActionResult SendEmail([FromForm]Entity entity)
{
    try
    {
        string Servicesfuri = this.serviceContext.CodePackageActivationContext.ApplicationName + "/" + this.configSettings.SendNotificationServiceName;

        string proxyUrl = $"http://localhost:{this.configSettings.ReverseProxyPort}/{Servicesfuri.Replace("fabric:/", "")}/api/values/Send";

        //attachments
        var requestContent = new MultipartFormDataContent();


        foreach (var item in entity.Files)
        {
            StreamContent streamContent = new StreamContent(item.OpenReadStream());
            var fileContent = new ByteArrayContent(streamContent.ReadAsByteArrayAsync().Result);
            requestContent.Add(fileContent, item.Name, item.FileName);

        }

        HttpResponseMessage response = this.httpClient.PostAsync(proxyUrl, requestContent).Result;


        if (response.StatusCode != System.Net.HttpStatusCode.OK)
        {
            return this.StatusCode((int)response.StatusCode);
        }

        return this.Ok(response.Content.ReadAsStringAsync().Result);
    }
    catch (Exception e)
    {
        throw e;
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос