Добрый день!
Нужно было сделать небольшое API (ASP.NET Core 3.1) с заливкой файла на сервер и дальнейшей обработкой его.
Набросал код, на локальной машине где разрабатывалось - все работает (IIS EXPRESS).
На удаленном сервере установил нужные для ASP NET компоненты, создал сайт в IIS, опубликовал в VS в папку и утащил на сервер.
Делаю такой же запрос и получаю ошибку:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
Подключаюсь через VS Remote Debug и вижу что ошибка в
objFile.files.Length > 0
То есть файл как будто и не прилетает через форму.
Отправлю multipart/form-data через Postman.
Код:
public class FileUploadAPI
{
public IFormFile files { get; set; }
}
[HttpPost]
public async Task<String> Post([FromForm] FileUploadAPI objFile)
{
try
{
if (objFile.files.Length > 0)
{
string UploadFolder = _webHostEnvironment.ContentRootPath + "\\Upload\\";
if (!Directory.Exists(UploadFolder))
{
Directory.CreateDirectory(UploadFolder);
}
string infile = _webHostEnvironment.ContentRootPath + objFile.files.FileName;
using (FileStream fileStream = System.IO.File.Create(infile))
{
objFile.files.CopyTo(fileStream);
fileStream.Flush();
}
return "OK";
}
else
{
return "Fail";
}
}
catch (Exception ex)
{
return ex.Message.ToString();
}
}
Подскажите пожалуйста в чем может быть проблема?
Спасибо заранее