Размещать файлы вместе с объектом на контроллере WebApi (. NET 4.5.2) - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь передать список файлов в контроллер WebApi вместе с фактическим объектом:

Вот моя модель:

public class StudentModel
    {
        public long StudentId { get; set; }
        public string FirstName { get; set; }
        public string DOB { get; set; }
        public List<HttpPostedFileBase> files { get; set; }
    }

Вот мой контроллер Web API:

 [HttpPost]
        [Route("api/Student/UploadFile")]
        public HttpResponseMessage UploadFile(HttpPostedFileBase[] files)
        {
 try
            {
                var httpContext = HttpContext.Current;

                // Check for any uploaded file  
                if (httpContext.Request.Files.Count > 0)
                {
                    //Loop through uploaded files  
                    for (int i = 0; i < httpContext.Request.Files.Count; i++)
                    {
                        HttpPostedFile httpPostedFile = httpContext.Request.Files[i];
                        if (httpPostedFile != null)
                        {
                            // Construct file save path  
                            var fileSavePath = Path.Combine(HostingEnvironment.MapPath(ConfigurationManager.AppSettings["fileUploadFolder"]), httpPostedFile.FileName);

                            // Save the uploaded file  
                            httpPostedFile.SaveAs(fileSavePath);
                        }
                    }
                }

            }
            catch (Exception ex)
            {

             //   return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Internal Server Error");
            }
 return Request.CreateResponse(HttpStatusCode.OK, "File Uploaded!");

    }

Files.count всегда равен нулю, когда я пытаюсь использовать заголовок настройки почтальона Content-Type в качестве данных формы MultiPart и загружать файл в ключ настройки тела в виде файлов.

Почему я не могу получить файл в контроллере webApi?

...