public async Task <IActionResult> Upload() { if (ModelState.IsValid) { try { var files = Request.Form.Files; var storageName = HttpContext.Session?.GetString("StorageName"); if (storageName == null) { return(new BadRequestObjectResult("Хранилище не выбрано")); } if (files == null) { return(new BadRequestObjectResult("Файл отсутствует")); } //LoadStorages(ref storageDB, storageName); var storage = storageContext.Storages .Where(s => s.Name == storageName && s.User == User.Identity.Name) .FirstOrDefault(); if (storage == null) { new BadRequestObjectResult("Хранилище не найдено"); } var fileName = (Convert.ToBase64String(Guid.NewGuid().ToByteArray()).Substring(0, 10)).Replace(@"\", "0").Replace(@"/", "0"); foreach (var file in files) { var findFile = dataLite.Files.Get(f => f.Name == file.Name); if (findFile != null) { return(new BadRequestObjectResult("Файл с таким именем существует")); } var type = file.FileName.Split('.').Last(); fileName += "." + type; var group = file.ContentType.Split('/')[0]; //storageDB.Connection.Insert( // new CryptoFile() // { // Name = file.Name, // Size = Math.Round(file.Length / (double)1000000, 2), // Group = group, // Type = type, // Path = fileName // } //); //storageDB.Connection.Close(); dataLite.Files.Add( new FileModel() { Name = file.Name, Size = Math.Round(file.Length / (double)1000000, 2), Group = group, Type = type, Path = fileName } ); dataLite.Close(); await encryptor.EncryptFile(file, GetDirFile() + fileName); } return(new OkObjectResult(files[0].Name)); ; } catch (Exception ex) { logger.LogInformation("#####" + ex.StackTrace); return(new BadRequestObjectResult(ex.Message)); } } return(new BadRequestObjectResult("Модель данных не корректна")); }