ASP.NET MVC – Gestión de usuarios de carpetas con imágenes (FTP?)

estoy desarrollando una aplicación MVC de ASP.NET y necesito una carpeta por usuario con imágenes (incluidas las subcarpetas). Estoy buscando una manera fácil de permitir la gestión de este tipo de imágenes (carga de carpeta, carga de imagen única, eliminación, visualización).

La galería en sí no es la función clave de la aplicación y no tiene que ser elegante (no es necesario hacer comentarios, etc.)

En este momento, estoy pensando en la cuenta de FTP para cada usuario. Sin embargo,

  1. ¿Hay alguna manera de establecer límites de tamaño desde el código c # a la carpeta ftp?
  2. ¿Cómo cargaría “usuario normal” sus carpetas de imágenes? ¿Hay algún complemento gratuito que complete la gestión de imágenes FTP?

¿O hay una forma más sencilla?

Para el tamaño de una carpeta, usa código

Vb.Net

Dim Klasor As DirectoryInfo = New DirectoryInfo(Server.MapPath("~/Content")) Dim Boyut As Decimal For Each dr In Klasor.GetFiles Boyut += dr.Length Next 

Vb a C # 🙁

 DirectoryInfo Klasor = new DirectoryInfo(Server.MapPath("~/Content")); decimal Boyut = default(decimal); foreach (object dr_loopVariable in Klasor.GetFiles) { dr = dr_loopVariable; Boyut += dr.Length; } 

Cierre el acceso a las carpetas en http, use la autorización de membresía. La consulta solo acepta miembros de la propia carpeta. Usar la autorización para leer y escribir operaciones.

Ejemplo de lectura: Vb.Net

  Function FileReturn() As FileResult Dim fi As New FileInfo(Server.MapPath("~/UserFiles/{UserID}/me.png")) Return File(fi.OpenRead, "image/png") //and for download Return File(fi.OpenRead, "image/png").FileDownloadName("me.png download") or Return File(fi.OpenRead, "image/png","meee") End Function 

Convertir C #:

 public FileResult FileReturn() { FileInfo fi = new FileInfo(Server.MapPath("~/UserFiles/{UserID}/me.png")); return File(fi.OpenRead, "image/png"); //and for download Return File(fi.OpenRead, "image/png").FileDownloadName("me.png download") or Return File(fi.OpenRead, "image/png","meee") } 

Lo siento por el código vb.net