Как проверить загруженный файл в ASP.Net CoreC#

Место общения программистов C#
Ответить
Anonymous
 Как проверить загруженный файл в ASP.Net Core

Сообщение Anonymous »

Я использую ASP.NET Core 2.2 и привязку модели для загрузки файла.

Это моя UserViewModel

Код: Выделить всё

public class UserViewModel
{
[Required(ErrorMessage = "Please select a file.")]
[DataType(DataType.Upload)]
public IFormFile Photo { get; set; }
}
Это MyView

Код: Выделить всё

@model UserViewModel







И, наконец, это MyController

Код: Выделить всё

[HttpPost]
[ValidateAntiForgeryToken]
public async Task UploadPhoto(UserViewModel userViewModel)
{
if (ModelState.IsValid)
{
var formFile = userViewModel.Photo;
if (formFile == null || formFile.Length == 0)
{
ModelState.AddModelError("", "Uploaded file is empty or null.");
return View(viewName: "Index");
}

var uploadsRootFolder = Path.Combine(_environment.WebRootPath, "uploads");
if (!Directory.Exists(uploadsRootFolder))
{
Directory.CreateDirectory(uploadsRootFolder);
}

var filePath = Path.Combine(uploadsRootFolder, formFile.FileName);
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
await formFile.CopyToAsync(fileStream).ConfigureAwait(false);
}

RedirectToAction("Index");
}
return View(viewName: "Index");
}
Как ограничить размер загружаемых файлов размером менее 5 МБ с определенными расширениями, такими как .jpeg и .png? Я думаю, что обе эти проверки выполняются в ViewModel. Но я не знаю, как это сделать.

Подробнее здесь: https://stackoverflow.com/questions/565 ... p-net-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»