I managed to send multiple documents to my controller using the following ajax call:
var fileData = new FormData();
            for (var i = 0; i < files.length; i++) {
                fileData.append("UploadDocumentsInput", files[i]);
            }
            $.ajax({
                type: "POST",
                url: "/LegalEntity/UploadFiles",
                async: false,
                dataType: "json",
                contentType: false, // Not to set any content header
                processData: true, // Not to process data
                data: fileData,
                success: function (result, status, xhr) {
                },
                error: function (xhr, status, error) {
                    documentSuccess = false;
                }
            });
and in the controller, I receive them this way:
 [HttpPost]
        public JsonResult UploadFiles()
        {
            var listOfDocs = new List<UploadedFile>();
            HttpFileCollectionBase files = Request.Files;
            for (int i = 0; i < files.Count; i++)
            {
                HttpPostedFileBase file = files[i];
                var inputStream = file.InputStream;
                var inputStreamLength = Convert.ToInt32(inputStream.Length);
                byte[] streamArray = new byte[inputStreamLength];
                var strRead = inputStream.Read(streamArray, 0, inputStreamLength);
                var docObject = new UploadedFile()
                {
                    Attachment = streamArray,
                    FileName = file.FileName,
                };
                listOfDocs.Add(docObject);
            }
            _personService.SaveDocs(listOfDocs);
            return Json(files.Count + " Files Uploaded!");
        }
But also, I will need to send from my view an ID.
I have tried to include it into the data: field and receive it as argument into my method but this doesnt seem to be working.
Every help will be much appreciated.
