Browse Source

Cleanup

master
radivoje.milutinovic 3 years ago
parent
commit
90fd54e051
1 changed files with 14 additions and 9 deletions
  1. 14
    9
      SecureSharing/Controllers/HomeController.cs

+ 14
- 9
SecureSharing/Controllers/HomeController.cs View File

@@ -63,10 +63,18 @@ public sealed class HomeController : Controller
var message = new MessageDto { Text = model.Text };
await UploadFiles(model, message);

var code = await _messageService.Create(message, model.ChosenPeriod);
return RedirectToAction("Link", "Home", new { code = code, share = true });
}

private async Task UploadFiles(MessageModel model, MessageDto message)
{
var basePath = Path.Combine(_webHostEnvironment.WebRootPath.Split('/')[0], DefaultPath, message.Code.ToString());
var basePathTemporary = Path.Combine(_webHostEnvironment.WebRootPath.Split('/')[0], DefaultPathTmp);
Directory.CreateDirectory(basePath);
var directoryNames = model.FilesAsText
.Split(';')
.Select(x => x.Split(':')[0])
@@ -82,9 +90,9 @@ public sealed class HomeController : Controller

foreach (var file in fileNames)
{
message.FileNames.Add(new FileModel {Name = file});
message.FileNames.Add(new FileModel { Name = file });
}
foreach (var directoryName in directoryNames)
{
var directoryPath = Path.Combine(basePathTemporary, directoryName);
@@ -98,7 +106,7 @@ public sealed class HomeController : Controller
System.IO.File.Move(filePath, newFilePath);
}
}
foreach (var directory in directoryNames)
{
Directory.Delete(Path.Combine(basePathTemporary, directory), true);
@@ -106,17 +114,14 @@ public sealed class HomeController : Controller

foreach (var formFile in model.Files)
{
if (formFile.Length <= 0)
if (formFile.Length <= 0)
continue;
var filePath = Path.Combine(basePath, formFile.FileName);
await using var stream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite);
await formFile.CopyToAsync(stream);
message.FileNames.Add(new FileModel { Name = formFile.FileName });
}

var code = await _messageService.Create(message, model.ChosenPeriod);
return RedirectToAction("Link", "Home", new { code = code, share = true });
}

public async Task<FileStreamResult> Download(string filename, Guid code)

Loading…
Cancel
Save